Skip to content

Update doc for Sequential Dependency in Acceptance Tests #470

@mosin74

Description

@mosin74

Acceptance tests have a high setup cost (for example, creating explorations, users, or other resources). To manage this, we’ve mostly standardized on a structure where one setup step is done at the start of the module, and then all subsequent it() blocks run sequentially in order.

This means:

  1. The first it() usually handles setup (e.g., creating an exploration).
  2. All following it() blocks depend on the state left by the previous ones.

Because of this dependency:

  1. While debugging a failure, first fix any diff-snapshots issues if they exist.
  2. Then, solve failures in the sequential order of the it() blocks, since later tests assume earlier ones have already passed.

For example :
In create-delete-and-update-status-of-voiceovers-of-the-explorations.spec.ts, the first it() block performs the initial setup and navigation. All subsequent it() blocks are sequentially dependent on it.
1. Some later tests start directly from uploading a file.
2. They do not repeat navigation steps, because the navigation was already performed in the earlier it().

Update the documentation to explain this and how to approach fixing them.

Screen.Recording.2025-09-09.012501.mp4

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions