Logo: Relish

  1. Sign in

Project: My-project

Join runtime objects

It includes scenarios such as: Joining Type1 to Type2, Type3 to Type2 and Type4 to Type3.

Scenarios
Client wishes to join 2 runtime test objects, where all their revisions aligned
Given
a payload is made for version "1" for job_type
And
a object1 exists in the application
And
a object2 exists in the application
And
that :test_object_collection_with_runtime_objects_as_children exists in the application
When
the request is received
Then
the updated_object1 is returned via the response object
And
the updated_object2 is returned via the response object
Examples:
payload job_type object1 object2 updated_object1 updated_object2
:payload_to_join_type2_to_type1 "Join TestType2 to TestType1" :type1_object :type2_object :updated_type1_with_child_type2 :updated_type2_with_parent_type1
:payload_to_join_type3_to_type2 "Join TestType3 to TestType2" :type2_object :type3_object :updated_type2_with_child_type3 :updated_type3_with_parent_type2
:payload_to_join_type4_to_type3 "Join TestType4 to TestType3" :type3_object :type4_object :updated_type3_with_child_type4 :updated_type4_with_parent_type3
Client wishes to join 2 runtime test objects, but one of the object has a conflicting revision number
Given
a :payload_to_join_type3_to_type2 is made for version "1" for "Join TestType3 to TestType2"
And
a :type2_object exists in the application
And
a :type3_object_with_conflicting_revision exists in the application
When
the request is received
Then
a Context::Exception::RevisionMisalignedException is raised with the message "Encountered a revision mismatch for object TestType3. Expected revision 1 but got 3" via the response object
Joining 2 runtime objects, but the two objects cannot collaborate with each other
Given
a :payload_to_join_type4_to_type2 is made for version "1" for "Join TestType4 to TestType2"
And
a :type2_object exists in the application
And
a :type4_object exists in the application
And
that :test_object_collection_with_runtime_objects_as_children exists in the application
When
the request is received
Then
a Data::Exception::BusinessRuleException is raised with the message "Type Rule Violation: TestType4 cannot collaborate with TestType2" via the response object

Last published over 6 years ago by nbeagley.