* quick fix ignoring fields wrapped in $FOLLOW when checking permissions * checking related permissions for $FOLLOW filter * moved $FOLLOW logic to extractRequiredFieldPermissions * initial attempt at making e2e test for this issue * moved test to many-to-many.test.ts * added permissions for the test * created new user and role for these tests * broadened the expected matching object * only expecting name as the id field UUID was giving inconsistent uppercased results with mssql
E2E tests
Setup
Make sure the containers for the databases are running by running docker compose up -d in this folder.
Running tests locally
Run npm run test:e2e to run the e2e tests for every supported database vendor.
Testing a specific database
Provide a csv of database drivers in the TEST_DB environment variable to test specific databases:
TEST_DB=cockroachdb npm run test:e2e
Using an existing Directus instance
The test suite will spin up a fresh copy of the Directus API from the current build. To use an already running copy of
Directus, set the TEST_LOCAL flag:
TEST_DB=cockroachdb TEST_LOCAL=true npm run test:e2e
This will use localhost:8055 as the URL for every test. Note: make sure to connect your local Directus database
instance to the test database container found in docker-compose in this folder.
Watching for (test) changes
Use npm run test:e2e:watch to enable Jest's --watch mode, especially useful in combination with the flags above.
This does not watch changes to Directus; it only watches changes to the tests.