Search Workflow by name BDD test 53/62053/1
authorayalaben <ayala.benzvi@amdocs.com>
Thu, 23 Aug 2018 10:38:49 +0000 (13:38 +0300)
committerayalaben <ayala.benzvi@amdocs.com>
Thu, 23 Aug 2018 10:38:49 +0000 (13:38 +0300)
Change-Id: I759678da1864470e0d1baadb10f27c1f11918633
Issue-ID: SDC-1662
Signed-off-by: ayalaben <ayala.benzvi@amdocs.com>
workflow-bdd/features/WorkflowList.feature
workflow-bdd/stepDefinitions/General_Steps.js
workflow-bdd/stepDefinitions/InputData_steps.js

index 3cd27a0..529f8a5 100644 (file)
@@ -40,6 +40,21 @@ Feature: Workflows list
     And I want to update the input property "description" with value "second version"
     And I want to create for path "/workflows/{item.id}/versions?baseVersionId={item.versionId}" with the input data from the context
 
+    Given I want to create a Workflow
+    And I want to copy to property "rand1" from response data path "name"
+    And I want to update the input property "name" with value "workflow_ss_1_{rand1}"
+    And I want to update for path "/workflows/{item.id}" with the input data from the context
+
+    Given I want to create a Workflow
+    And I want to copy to property "rand2" from response data path "name"
+    And I want to update the input property "name" with value "workflow_ss_2_{rand2}"
+    And I want to update for path "/workflows/{item.id}" with the input data from the context
+
+    Given I want to create a Workflow
+    And I want to copy to property "rand3" from response data path "name"
+    And I want to update the input property "name" with value "workflow_ss_3_{rand3}"
+    And I want to update for path "/workflows/{item.id}" with the input data from the context
+
   Scenario: List all
     When I want to get path "/workflows?limit=2000"
     Then I want to check in the list "items" property "id" with value of saved property "noVersionsWorkflowId" exists
@@ -73,4 +88,10 @@ Feature: Workflows list
     Then I want to check in the list "items" property "id" with value of saved property "noVersionsWorkflowId" does not exist
     And I want to check in the list "items" property "id" with value of saved property "draftVersionWorkflowId" does not exist
     And I want to check in the list "items" property "id" with value of saved property "certifiedVersionWorkflowId" does not exist
-    And I want to check in the list "items" property "id" with value of saved property "draftAndCertifiedVersionWorkflowId" does not exist
\ No newline at end of file
+    And I want to check in the list "items" property "id" with value of saved property "draftAndCertifiedVersionWorkflowId" does not exist
+
+  Scenario: List ones that contain 'workflow_ss' in name
+    When I want to get path "/workflows?searchNameFilter=workflow_ss&limit=2000"
+    And I want to check in the list "items" property "name" with value "workflow_ss_1_{rand1}" exists
+    And I want to check in the list "items" property "name" with value "workflow_ss_2_{rand2}" exists
+    And I want to check in the list "items" property "name" with value "workflow_ss_3_{rand3}" exists
\ No newline at end of file
index 5968d40..1ceea64 100644 (file)
@@ -166,7 +166,8 @@ Then('I want to check property {string} does not exist', function(string)  {
  **/
 Then('I want to check in the list {string} property {string} with value {string} exists', function(listPath, propertyPath, value)  {
     var list = _.get(this.context.responseData, listPath);
-    assert.notEqual(list.find(element => _.get(element, propertyPath) === value), undefined);
+    let valueCheck = getPath(value, this.context);
+    assert.notEqual(list.find(element => _.get(element, propertyPath) === valueCheck), undefined);
 });
 
 /**
index 6263bb7..7fee19a 100644 (file)
@@ -19,6 +19,11 @@ const _ = require('lodash');
 const fs = require('fs');
 const util = require('./Utils.js');
 
+function getPath(path, context) {
+    let compiled = _.template(path);
+    return compiled(context);
+}
+
 /**
  * @module InputData
  * @description creates an ampty input data object
@@ -59,7 +64,8 @@ When('I want to set the input data to file {string}', function (string) {
  * @step I want to update the input property {string} with value {string}
  **/
 Then('I want to update the input property {string} with value {string}', function(string, string2)  {
-       _.set(this.context.inputData, string, string2);
+    let value = getPath(string2, this.context);
+       _.set(this.context.inputData, string, value);
 });
 
 /**