* Remove UTC conversion from date, time and datetime fields * Fix mysql / maria timestamps when not in UTC timezone * Add sequential tests with node timezone change * Increase connection attempt check * Add error catching in tests flow setup * Check for server connectivity * Fix promises * Fix timestamp inconsistencies * Revert to previously used parseISO * Ensure database and directus connection * Add another timezone to test positive and negative GMT * Set local server hostname to localhost * Add tests for SQLite * Use notNullable primary key * Revert connection testing sleep duration * Fix nested transactions on SQLite * Increase MSSQL request timeout * Add type override flag for SQLite * Remove commented code * Add type override flags for Oracle * Updated test file path * Increase test servers launch timeout * Increase test servers launch timeout * Update format of tests * Fix typo * Increase test timeout for CockroachDB * Add type overrides when creating fields through collections service * Remove time field type conversion for Oracle * Update collections list in test * Remove check for time field in Oracle * Add missing continue... * Remove database override * Add note for SQLite * Rename flags and extract shared util * Abstract remaining DB specific checks * Revert flags renaming except renaming of test files * Use date helper to add field flag * Move field date typecasting upstream * Use timestamp helper for date-created and date-updated * Fix tests * Remove unused vars * Add tests for date-created * Increase connection attempt count * Fix test for mariadb * Increase allowable difference to account for delays * Add tests for date-updated * Fix tests again for mariadb * Add date helpers post merge Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
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.