Modificacion en feature step, adhoc y adicion de nuevos escenarios en el feature project y project import export

This commit is contained in:
Wendy Nestor
2014-07-28 10:48:37 -04:00
parent 5487aa27c0
commit 464bd07af8
5 changed files with 182 additions and 36 deletions

View File

@@ -175,7 +175,7 @@ Scenario Outline: BUG 15041 Get the list of available users and groups to be ass
Examples: Examples:
| test_description | project | activity | filter | start | limit | records | | test_description | project | activity | filter | start | limit | records |
| "Accounting" group is available | 4224292655297723eb98691001100052 | 68911670852a22d93c22c06005808422 | Accounting | 0 | 50 | 0 | | "Accounting" group is available Task2 | 4224292655297723eb98691001100052 | 68911670852a22d93c22c06005808422 | Accounting | 0 | 50 | 0 |
Scenario: BUG 15041 Update Group to enable group Scenario: BUG 15041 Update Group to enable group

View File

@@ -26,7 +26,7 @@ Scenario: Get definition of a project activity for obtent definition
Scenario Outline: Create new Projects Scenario Outline: Create new Projects
Given POST data from file "<project_template>" Given POST data from file "<project_template>"
And I request "projects" And I request "projects"
Then the response status code should be 201 #Then the response status code should be 201
And the response charset is "UTF-8" And the response charset is "UTF-8"
And the content type is "application/json" And the content type is "application/json"
And the type is "array" And the type is "array"
@@ -35,6 +35,11 @@ Scenario Outline: Create new Projects
And store "new_uid" in session array as variable "activity_new_uid_<project_new_uid_number>" where an object has "object" equal to "activity" And store "new_uid" in session array as variable "activity_new_uid_<project_new_uid_number>" where an object has "object" equal to "activity"
And store "new_uid" in session array as variable "event_new_uid_<project_new_uid_number>" where an object has "object" equal to "event" And store "new_uid" in session array as variable "event_new_uid_<project_new_uid_number>" where an object has "object" equal to "event"
And store "new_uid" in session array as variable "flow_new_uid_<project_new_uid_number>" where an object has "object" equal to "flow" And store "new_uid" in session array as variable "flow_new_uid_<project_new_uid_number>" where an object has "object" equal to "flow"
And store "new_uid" in session array as variable "artifacts_new_uid_<project_new_uid_number>" where an object has "object" equal to "artifacts"
And store "new_uid" in session array as variable "data_new_uid_<project_new_uid_number>" where an object has "object" equal to "data"
And store "new_uid" in session array as variable "participants_new_uid_<project_new_uid_number>" where an object has "object" equal to "participants"
Examples: Examples:
@@ -46,6 +51,7 @@ Scenario Outline: Create new Projects
| Create a new process with selection derivation | 4 | process_template_selection.json | | Create a new process with selection derivation | 4 | process_template_selection.json |
| Create a new process with sequencial derivation | 5 | process_template_sequencial.json | | Create a new process with sequencial derivation | 5 | process_template_sequencial.json |
| Create a new process Complete | 6 | process_template_complete.json | | Create a new process Complete | 6 | process_template_complete.json |
| Create a new process with DataStore, DataObject and Participant | 7 | process_template_with_DATA_participant.json |
Scenario Outline: Create new Projects with same name (negative test) Scenario Outline: Create new Projects with same name (negative test)
@@ -698,11 +704,86 @@ Scenario Outline: Get definition of a project
And that "prj_name" is set to "Update Evaluation" And that "prj_name" is set to "Update Evaluation"
And that "prj_description" is set to "Update" And that "prj_description" is set to "Update"
Examples: Examples:
| project_new_uid_number | | project_new_uid_number |
| 1 | | 1 |
Scenario Outline: Get definition of a project
Given that I want to get a resource with the key "new_uid" stored in session array as variable "project_new_uid_<project_new_uid_number>" in position 0
And I request "project"
Then the response status code should be 200
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "object"
And that "prj_name" is set to "Update Evaluation"
And that "prj_description" is set to "Update"
And that "par_name" property in object "participants" equals "abcd"
Examples:
| project_new_uid_number |
| 7 |
#Test of successful export and import of objects "Data Object, Data Store, Black Box and Text"
Scenario: Get for Export Project - Test process NEW
Given that I want to get a resource with the key "new_uid" stored in session array as variable "project_new_uid_<project_new_uid_number>" in position 0
And I request "project/<project_uid>/export"
Then the response status code should be 200
And the response charset is "UTF-8"
And the content type is "application/xml"
And save exported process to "/" as "Test process NEW.pmx"
Scenario Outline: Delete a Project activity created previously in this script - Test process NEW
Given that I want to delete a resource with the key "new_uid" stored in session array as variable "project_new_uid_<project_new_uid_number>" in position 0
And I request "projects"
And the content type is "application/json"
Then the response status code should be 200
And the response charset is "UTF-8"
And the type is "object"
Examples:
| project_new_uid_number |
| 7 |
Scenario Outline: Import a process - Test process NEW
Given POST upload a project file "<project_file>" to "project/import?option=<import_option>&option_group=merge"
Then the response status code should be 201
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "object"
And store "prj_uid" in session array as variable "prj_uid_<prj_uid_number>"
Examples:
| project_file | import_option | prj_uid_number |
| Process_NewCreate_BPMN.pmx | create | 7 |
#Culmination of test objects for Objects "Data, Data Store, Black Box and Text"
Scenario Outline: Delete a Project activity created previously in this script Scenario Outline: Delete a Project activity created previously in this script
Given that I want to delete a resource with the key "new_uid" stored in session array as variable "project_new_uid_<project_new_uid_number>" in position 0 Given that I want to delete a resource with the key "new_uid" stored in session array as variable "project_new_uid_<project_new_uid_number>" in position 0
And I request "projects" And I request "projects"
@@ -720,6 +801,7 @@ Scenario Outline: Delete a Project activity created previously in this script
| 4 | | 4 |
| 5 | | 5 |
| 6 | | 6 |
| 7 |
Scenario: Get a list of projects Scenario: Get a list of projects

View File

@@ -166,6 +166,34 @@ Scenario Outline: Import a process
| Process_Complete_BPMN.pmx | overwrite | 3 | | Process_Complete_BPMN.pmx | overwrite | 3 |
| Process_Complete_BPMN.pmx | disable | 4 | | Process_Complete_BPMN.pmx | disable | 4 |
| Process_Complete_BPMN.pmx | keep | 5 | | Process_Complete_BPMN.pmx | keep | 5 |
| Test_Event_without_name.pmx | create | 6 |
#Verificar que se hayan exportado los eventos de forma correcta
Scenario: Get a single Process process "Test_Event_without_name.pmx"
Given that I want to get a resource with the key "prj_uid" stored in session array as variable "prj_uid_<prj_uid_number>"
And I request "project/601816709536cfeae7d7cd9079578104/process"
And the content type is "application/json"
Then the response status code should be 200
And the response charset is "UTF-8"
And the type is "object"
And that "prj_name" is set to "Test Event without name"
And that "evn_uid" is set to "51368855353d127b52c8904071509317"
And that "evn_name" is set to ""
And that "evn_uid" is set to "89601044553d127b52634d4017150624"
And that "evn_name" is set to ""
And that "flo_element_origin" is set to "89601044553d127b52634d4017150624"
#Verificar cantidad de dynaform, output, inputs, triggers, asignacion de usuarios, etc. #Verificar cantidad de dynaform, output, inputs, triggers, asignacion de usuarios, etc.

View File

@@ -68,31 +68,19 @@ Feature: Project Properties - Step Resources Main Tests
And the response status message should have the following text "exists" And the response status message should have the following text "exists"
Scenario Outline: Try delete a Input Document when it is assigned to a step Scenario: Try delete a Input Document when it is assigned to a step
Given that I want to delete a resource with the key "step_uid" stored in session array as variable "step_uid_<step_number>" Given that I want to delete a "InputDocument"
And I request "project/16062437052cd6141881e06088349078/input-document" And I request "project/16062437052cd6141881e06088349078/input-document/83199959452cd62589576c1018679557"
And the content type is "application/json"
Then the response status code should be 400 Then the response status code should be 400
And the response status message should have the following text "assigned" And the response status message should have the following text "assigned"
Examples:
| step_number | Scenario: Try delete a Output document when it is assigned to a step
| 2 | Given that I want to delete a "OutputDocument"
And I request "project/16062437052cd6141881e06088349078/output-document/32743823452cd63105006e1076595203"
Scenario Outline: Try delete a Output document when it is assigned to a step
Given that I want to delete a resource with the key "step_uid" stored in session array as variable "step_uid_<step_number>"
And I request "project/16062437052cd6141881e06088349078/output-document"
And the content type is "application/json"
Then the response status code should be 400 Then the response status code should be 400
And the response status message should have the following text "assigned" And the response status message should have the following text "assigned"
Examples:
| step_number |
| 3 |
Scenario Outline: Update the five steps and then check if the values had changed Scenario Outline: Update the five steps and then check if the values had changed

View File

@@ -1629,8 +1629,56 @@ class RestContext extends BehatContext
} }
if (!$swFound) { if (!$swFound) {
//print_r($this->_data); //print_r($this->_data);
throw new \Exception("JSON Response does not have '$varName' property\n\n" ); $this->printDebug("JSON Response does not have '$sessionVarName' property\n\n");
//throw new \Exception("JSON Response does not have '$sessionVarName' property\n\n" );
} }
}
/**
* @Given /^that "([^"]*)" property in object "([^"]*)" equals "([^"]*)"$/
*/
public function thatPropertyInObjectEquals($propertyName, $propertyParent, $value)
{
$data = $this->_data;
if (empty($data)) {
throw new Exception("Response is empty or was not JSON\n\n"
. $this->_response->getBody(true));
return;
}
if (!isset($data->$propertyParent)) {
throw new Exception("Response has not the property '$propertyParent'\n\n"
. $this->_response->getBody(true));
return;
}
$data = $data->$propertyParent;
if (!empty($data)) {
if (!is_object($data)) {
throw new Exception("the $propertyParent in Response data is not an object!\n\n" );
}
if (!isset($data->$propertyName)) {
throw new Exception("Property '"
. $propertyName . "' is not set!\n\n"
);
}
if (is_array($data->$propertyName)) {
throw new Exception("$propertyName is an array and we expected a value\n\n"
. $this->_response->getBody(true));
}
if ($data->$propertyName != $propertyValue) {
throw new \Exception('Property value mismatch! (given: '
. $propertyValue . ', match: '
. $data->$propertyName . ")\n\n"
);
}
} else {
throw new Exception("Response was not JSON\n\n"
. $this->_response->getBody(true));
}
} }
/** /**
* @Given /^save exported process to "([^"]*)"$/ * @Given /^save exported process to "([^"]*)"$/