Groups

Documentation on testing Zendesk group changes

Manual Testing Protocol

When testing group changes, there are two areas we need to confirm:

  • The group exists in the sandbox after the merge request is created
  • A comparable JSON object from the API matches what is in the YAML file

The group exists in the sandbox

This is a test the Sandbox sync from the merge request created the group properly. To do this test, login to the Sandbox (as an admin), and navigate to People > Team > Groups in the admin panel. If the group you are creating/updating is listed there, the test passes.

API object matches YAML object

This requires reviewing the API object from the Zendesk Sandbox and the YAML object from the file you are editing. Ensure the values of the following keys match:

  • name
  • description
  • default
  • deleted
  • is_public

The test passes if the values between the two objects match exactly.

Test Suite Script

Presetup

Before running the script, ensure the following has been done:

  • GITLAB_TOKEN is defined in your environment
  • SB_ZD_SECRET is defined in your environment (for Zendesk Global testing)
  • SB_ZD_CLIENT_NAME is defined in your environment (for Zendesk Global testing)
  • SB_ADMIN_EMAIL is defined in your environment (for Zendesk Global testing)
  • SB_ADMIN_PASSWORD is defined in your environment (for Zendesk Global testing)
  • US_SB_ZD_CLIENT_NAME is defined in your environment (for Zendesk US Government testing)
  • US_SB_ZD_SECRET is defined in your environment (for Zendesk US Government testing)
  • US_SB_ADMIN_EMAIL is defined in your environment (for Zendesk US Government testing)
  • US_SB_ADMIN_PASSWORD is defined in your environment (for Zendesk US Government testing)

As this will involve a login as an admin/agent, you should also have the admin page for that user ready to generate generate recovery codes.

How it works

The script runs in “stages”:

  • Pre setup
    • This stage defines various core functions for the script to use (various Faraday connections primarily)
  • Pre tests
    • This stage checks to ensure Presetup has been done correctly. It will check for
      • the environment variables it needs to run
      • the current branch you are in is not master or main
  • Defintions
    • This stage defines various variables that are needed for the script to use
  • GitLab Info
    • This stage locates the merge request for your git branch, the corresponding parent issue, and the group changes that have been made within the merge request.
  • Group tests
    • This stage defines the tests to do and performs them
    • For each group change detected previously, a child task item is created (linked to the parent item)
    • As the tests are performed, it will add comments to the corresponding child task item with the details of the test and the results
      • If browser testing was done, screenshots should be provided on the comments made
  • Postrun instructions
    • This stage adds a summary comment on the parent issue (linking to all child task items)
      • It will also point to the location of all screenshots created in case the upload failed for any tests

For a more detailed explaination, please see the corresponding recording (internal link).

Last modified October 7, 2026: Adding information about CSS testing (2a895141)