Skip to content

Testing Framework refactor

No due date 50% complete

Testing Framework refactor

The current testing implementation is a good start but there is a bottle new brewing when it comes to the number of tests that need to be executed as well as the kind of testing that is currently occuring.

Tests have become very dependent on a full life-cycle of the application which has caused a lot of
unwanted complexity that …

Testing Framework refactor

The current testing implementation is a good start but there is a bottle new brewing when it comes to the number of tests that need to be executed as well as the kind of testing that is currently occuring.

Tests have become very dependent on a full life-cycle of the application which has caused a lot of
unwanted complexity that has led to tests becoming dependent on one another as well as quite slow. We want to get to the stage where all tests are completly independent from one another as well as tests being able to be performed on locally sourced data or data that is provided on the configured layer.

User spoofing. We also want a way to replicate a user in terms of applying different roles from a user to be check against a workspace as well as being used to simulate a user logging into a PRIVATE instance.

The tests need to become more modular in nature allowing for individual tests to be called from an element in a workspace or even calling a suite directly.

Steps

  1. Codi will need to be changed to fix the async/sync issue when trying to resolve tests all at the same time. This will be done by providing the describe & it blocks with a identifier that will relate to the test suite they should belong to. (Currently on codi this is impossible) (Issue found on codi RobAndrewHurst/codi#6)
  2. Remove the _test.html view as this creates unwanted duplication.
  3. Re-review all tests to pull out tests that only test the functions that the test module should relate to. (Everything else should be deleted and rewritten)
    • Spoof user and layer data.
  4. Create a test plugin that will take different configurations to run different kinds of tests. ie (core, integrity, suites). The plugin will also find test objects within the workspace and run a desired test on the object provided.
Loading