Logo: Relish

  1. Sign in

Project: My-project

Create runtime objects

At runtime the client applicaiton can execute a set of test
against the domain model and compare the results against a list of
expect returns. This feature covers the response of the domain model,
context and roles to those test.

Scenarios
  • @runtime
Client submits runtime job to create TestObjectCollection

This job is required to be run before any of the other test collections are run.
This object will hold all the test objects.

Given
a :request_to_create_test_object_collection is made for version "1" for "Create Test Object Collection"
When
the request is received
Then
the :created_test_object_collection is returned via the response object
  • @runtime
Client submits runtime job to create ObjectA with bad name.

The job makes a request for the runtime test but the name requested the job is incorrect.
This would the be case in the event of a programming error.

Given
a :runtime_test_request_payload is made for version "1" for "Runtime_Error_in_NaMe$"
And
'Runtime_Error_in_NaMe$ is not a valid job name'
And
'the rest of the request is correctly formed'
Then
an API::Exception::ContextNotFoundException is raised with the message "A matching context for job name 'Runtime_Error_in_NaMe$' with version 1 cannot be found" when the request is received
  • @runtime
Client submits runtime test job to create ObjectA with bad version number.

The job makes are request for the runtime test but the version requested by the job is incorrect.
This would the be case in the event of a programming error or operational error that saw the incorrect version deployed

Given
a :runtime_test_request_payload is made for version "0.0.0.1" for "Create Runtime Test Objects"
And
'0.0.0.1 is not a valid version number'
And
'the rest of the request is correctly formed'
Then
an API::Exception::ContextNotFoundException is raised with the message "A matching context for job name 'Create Runtime Test Objects' with version 0.0.0.1 cannot be found" when the request is received
  • @runtime
Client submits a runtime test job to create ObjectA without specifying a UIC.

The job makes the request for a runtime test but there is no associated UIC for the job.
This again would be the case in the event of a programming error where code has not passed operational QA.

Given
a :runtime_test_request_payload is made for version "1" for "Create Runtime Test Objects"
And
no UIC has been specified in the request
Then
an API::Exception::MissingInputException is raised with the message "Expected to find uic for Create Runtime Test Objects with version 1 but nothing was found" when the request is received
  • @runtime
Client submits a runtime test job to create ObjectA without all minimum parameters.

The job request passes all the initial checking but then fails because the min parameters were not supplied in the UIC.
This could happen if there is an error or an mismatch between the versions of the object specification.

Given
a :runtime_test_request_payload_with_invalid_min_param is made for version "1" for "Create Runtime Test Objects"
And
'the min required parameters are not supplied in the UIC'
And
the :test_object_collection_where_all_test_objects_hangs_off is already created previously
When
the request is received
Then
a Data::Exception::IllegalArgumentException is raised with the message "Object TestType1 requires 'color' as one of its minimum parameter" via the response object
  • @runtime
Client submits a runtime test job to create test objects with minimum parameters.

The job creates the requested objects using the information handed in via the UIC.
It then carries out the required checks and hands it off to the response object.

Given
a :runtime_test_request_payload_with_valid_min_param is made for version "1" for "Create Runtime Test Objects"
And
'the objects that are requested to be created are all specified in the UIC'
And
the :test_object_collection_where_all_test_objects_hangs_off is already created previously
When
the request is received
Then
the following objects are created
name
TestType1
TestType2
And
each object has a parent being the test object collection of the of the user requesting it's creation
And
each has audit entry showing who, what, when of its creation
And
'each object has a uniqueID different from other objects being created'
And
'each object contains the defined minimum data points'
And
each object is in active state
  • @runtime
Client submits a runtime test job to create test type 5 with minimum parameters.

In this scenario, when type5 is created, we will attach an email command definition.
This command definition will be triggered when type5 is updated (i.e. set send_email to true)

Given
a :payload_to_create_type5 is made for version "1" for "Create Runtime Type5 Object"
And
'the object that is requested to be created is specified in the UIC'
And
the :test_object_collection_where_all_test_objects_hangs_off is already created previously
When
the request is received
Then
the :created_type5 is returned via the response object
And
'the type5 object has a parent being the test object collection of the of the user requesting it's creation'
And
the :created_type5 has audit entry showing who, what, when of its creation
And
'the object has 1 email trigger definition attached to it'
And
the :created_email_trigger_definition_for_type5 is returned via the response object

Last published over 4 years ago by nbeagley.