mirror of
https://github.com/directus/directus.git
synced 2026-01-26 07:48:19 -05:00
* Add black box tests * Revert docker compose file * Update workflow * Try use workflow from dev repo * Increase seedDB() timeout * Disable other checks for now * Change DB sequence * Update jest moduleNameMapper * Update workflow's docker-compose.yml path * Slice array first * Remove differentiation of status code * Delete field only after foreign key constraints are removed * Add checks for different types of primary key * Test global query filter for all field types * Increase timeout for m2o seeding * Add case insensitive string operators * Update filter check to run on relational fields * Enable time field checks * Add seeded random and fix relational seeding * Add casting for integer and bigInteger * Minor fixes * Reduce bigInt values * Separate seeding of DB structure from values * Add primaryKey seeding function * Use automatic IDs except for string pk * Try fix ci * Update package-lock.json * Update common.test for concealed user tokens * Use dynamic field type for m2o.test relational fields * Temporary disable missing nicontains for string type * Add support for alias type filtering * Fix relational filter operator checks * Add initial o2m test * Remove integer pk limit * Add empty checks for string and uuid null * Limit generated integer value to 4 bytes * Patch timezone tests for MSSQL * Remove sample query filter test * Fix timezone test for sqlite * Fix MSSQL uuids * Fix MSSQL timestamp inaccuracy * Cast datetime schema to milliseconds for comparison * Fix MySQL / Maria timestamp inaccuracy * Fix MySQL / Maria between operator inconsistency for float type * Fix missing time datatype in Oracle * Skip filter testing on Oracle * Enable o2m filter tests for other collections * Run tests only on SQLite for PRs unless the Full Tests label exists * Try fix actions * Refactor github actions * Update tests flow setup to use getURL() * Start postgres docker * Reinstate package-lock * Fix geometry test * Remove .gitkeep files * Add todo.md * Rename black box to blackbox Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
55 lines
1.5 KiB
JavaScript
55 lines
1.5 KiB
JavaScript
const Sequencer = require('@jest/test-sequencer').default;
|
|
const findIndex = require('lodash').findIndex;
|
|
const sequentialTestsList = require('./sequentialTests.js').list;
|
|
|
|
class CustomSequencer extends Sequencer {
|
|
async sort(tests) {
|
|
let sortedTests = Array.from(tests);
|
|
|
|
if (sortedTests.length > 1) {
|
|
// If specified, only run these tests sequentially
|
|
if (sequentialTestsList.only.length > 0) {
|
|
let onlyTests = [];
|
|
|
|
for (let sequentialTest of sequentialTestsList.only) {
|
|
const testIndex = findIndex(sortedTests, (test) => {
|
|
return String(test.path).endsWith(sequentialTest.testFilePath);
|
|
});
|
|
|
|
if (testIndex !== -1) {
|
|
onlyTests.push(sortedTests[testIndex]);
|
|
}
|
|
}
|
|
|
|
sortedTests = onlyTests;
|
|
} else {
|
|
for (let sequentialTest of sequentialTestsList.before.slice().reverse()) {
|
|
const testIndex = findIndex(sortedTests, (test) => {
|
|
return String(test.path).endsWith(sequentialTest.testFilePath);
|
|
});
|
|
|
|
if (testIndex !== -1) {
|
|
sortedTests.unshift(sortedTests.splice(testIndex, 1)[0]);
|
|
}
|
|
}
|
|
|
|
for (let sequentialTest of sequentialTestsList.after) {
|
|
const testIndex = findIndex(sortedTests, (test) => {
|
|
return String(test.path).endsWith(sequentialTest.testFilePath);
|
|
});
|
|
|
|
if (testIndex !== -1) {
|
|
sortedTests.push(sortedTests.splice(testIndex, 1)[0]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
process.env.totalTestsCount = String(sortedTests.length);
|
|
|
|
return sortedTests;
|
|
}
|
|
}
|
|
|
|
module.exports = CustomSequencer;
|