Automated Test Framework use case: test a Service Catalog request

  • Release version: Washingtondc
  • Updated February 1, 2024
  • 4 minutes to read
  • This use case illustrates testing a service catalog request with the Automated Test Framework.

    Before you begin

    Role required: atf_test_admin

    About this task

    With the Replay Request Item test step, you can test the service catalog ordering process once a request exists and has a record in the request item table. In the Washington DC release, you cannot create an automated test for the process by which the user creates a new request.
    Figure 1. Automated Test Framework: Service catalog example

    Test steps

    Procedure

    1. Replay an existing service catalog request item.

      This test step inserts a new record in the [sc_request] table for the catalog request item RITM0010001.

      Figure 2. Service Catalog test step 1 details: Replay Request Item

      Replay request item
      This insertion triggers the Service Catalog Request workflow, which checks the price of the item, determines that it exceeds $1000.00, and therefore generates approval records for users belonging to the Catalog Request Approvals group. In this example, only one user– Eric Schroeder – belongs to this group.
      Figure 3. Screenshot of triggered Service Catalog Request workflow

      Service catalog request workflow
    2. Impersonate Eric Schroeder, the user who needs to approve this Service Catalog Request.
      Figure 4. Test step - Impersonate Eric Schroder

      Impersonate test step
    3. Verify that the system created an approval record for Eric Schroeder and this request.
      Note that for the Approval for field, you assign the output value from Step 1.
      Figure 5. Step 3 details: Record Query for Approval record

      Record query test step
    4. Set the state of this approval record to Approved.
      Figure 6. Step 4 details: set approval record to Approved

      Update setting approval state
      The Service Catalog Request workflow sees that all required approval records have the state of Approved and transitions to the Approval Action which marks the request record [sc_request] as Approved.
      Figure 7. Step 4: Triggered workflow marks request record as approved

      Sc workflow with approval portion highlighted

      When the record in [sc_request] changes to the Approved state, an associated business rule generates request items [sc_request_item] for each item in the request. In this example, the request contains only one item, so the business rule inserts one record into the [sc_request_item] table. This insertion triggers the Service Catalog Item Request workflow.

      Figure 8. Service Catalog Item workflow

      Service catalog item request workflow

      The first activity in the Service Catalog Item Request workflow generates an approval record for the head of the department in which the requesting user works. In this example, the department head is Natasha Ingram.

      Figure 9. Service Catalog Item workflow: step 4

      Service catalog item workflow
    5. The workflow does not continue until the department head approves it, so the next test step impersonates Natasha Ingram.
      Figure 10. Step 5 - Impersonate User

      Impersonate user test step
    6. Obtain the sys_id for the new approval record with the Record Query step.
      Note that Record Query creates an output variable with the sys_id of the first record returned from the query.
      Figure 11. Step 6 - Record Query test step

      Record query test step
    7. Set the approval record to Approved.
      Figure 12. Step 7 - Approval User test step

      Approval user test step

      Note how Step 7 refers to the First record output variable from Step 6 to specify which record to approve. When the record is approved, the workflow transitions to the next Approval - User activity, which generates an approval record for the CIO. In this example, the CIO is Bow Ruggeri.

      Figure 13. Step 7 details - Service Catalog Item workflow

      Service catalog item workflow
    8. Impersonate Bow Ruggeri.
    9. Obtain the sys_id for the approval record for Bow Ruggeri.
    10. Set the approval record to Approved.
      When the record is approved, the workflow transitions to the Approval Action activity which sets the record for this item in the [sc_request_item] table to Approved. The workflow transitions to the Catalog Task activity labelled Asset Mgmt. Fulfills Order. This Catalog Task activity generates a new record in the [sc_task] table that instructs a user in the Fulfillment group to order the item.
      Figure 14. Step 10 - Service Catalog Item workflow

      Service catalog item workflow
    11. Impersonate a user in the Fulfillment group, in this example ATF.User.
      Figure 15. Step 11 - Impersonate User test step

      Impersonate user test step
    12. Obtain the sys_id for the new catalog task with the Record Query step.
      Note that Record Query creates an output variable with the sys_id of the first record returned from the query.
      Figure 16. Step 12 - Record Query test step

      Record query test step
    13. Mark the [sc_task] record as Closed Complete.
      Figure 17. Step 13 - Record Update test step

      Record update test step

      Note how Step 13 uses the First record output variable from Step 12 to specify which record to mark as Closed Complete.

      When the record is marked Closed Complete, the workflow exits the Catalog Task activity along the In Stock exit path.
      Figure 18. Step 13 - Service Catalog Item Request workflow

      Service catalog item request workflow

      The workflow transitions to the Notification activity, then to the Catalog Task activity labelled Deploy Item to User.The Deploy Item to User Catalog Task activity inserts a new record into the [sc_task] table that instructs a user in the Deployment group to deliver the item.

    14. Obtain the sys_id for the new catalog task with the Record Query step.
      Note that Record Query returns an output variable with the sys_id of the first record returned from the query.
      Figure 19. Step 14 - Record Query test step

      Record query test step
    15. Mark the [sc_task] record as Closed Complete.
      Note how Step 15 uses the First record output variable from Step 14 to specify which record to mark as Closed Complete.
      Figure 20. Step 15 - Record Update test step

      Record update test step

      When the record is marked Closed Complete, the workflow exits the Catalog Task activity, logs a message, and exits.

      Figure 21. Step 15 - Service Catalog Item Request workflow

      Service catalog item request workflow
    16. Verify that the request item in [sc_request_item] has the state Closed Complete.
      Figure 22. Step 15 details - Record Validation

      Record validation dialog
    17. Verify that the request [sc_request] has the state Closed Complete.
      Figure 23. Step 16 - Record Validation test step

      Record validation test step