Ensure that test setup is lean while optimizing for speed and atomization between tests.

I noticed when running the QA tests 2 time back to back I get a slew of notification for new group creation and assignment.

This was a total of 9 groups from just running the full suite 2 times.

Screen_Shot_2018-08-02_at_11.42.17_PM

We should make sure to group tests that can reuse a similar setup one level higher which is the parent container of the object under test.

For example

  • Shared static group
    • Tests that gets a list of pre-constructed projects
    • Tests that gets a list of static labels
  • Shared sandbox group
    • Tests that creates a project in a group
    • Tests that deletes a project in a group
  • New teardown group
    • Tests that configures a group

For the 5 tests above we only need to create one new group every time those 5 tests run.

The same concept can also be applied to other objects under test. The end result we will get a tree-like structure with a few static leafs and dynamic leafs gets created / torn down.

/cc @ddavison @rymai @mlapierre

I haven't gone into detail and perform an audit of the setup yet but we should make sure that this is the case.