fix(core): Fix sorting of executions not working on postgres and mysql (#15423)

This commit is contained in:
Danny Martini
2025-05-26 16:23:24 +02:00
committed by GitHub
parent 74d8afa52e
commit eca282d09c
3 changed files with 57 additions and 9 deletions

View File

@@ -1,5 +1,6 @@
import { ExecutionRepository } from '@n8n/db';
import { Container } from '@n8n/di';
import { DateTime } from 'luxon';
import { createExecution } from '@test-integration/db/executions';
import { createWorkflow } from '@test-integration/db/workflows';
@@ -23,12 +24,30 @@ describe('UserRepository', () => {
});
describe('findManyByRangeQuery', () => {
// eslint-disable-next-line n8n-local-rules/no-skipped-tests
test.skip('sort by `createdAt` if `startedAt` is null', async () => {
test('sort by `createdAt` if `startedAt` is null', async () => {
const now = DateTime.utc();
const workflow = await createWorkflow();
const execution1 = await createExecution({}, workflow);
const execution2 = await createExecution({ startedAt: null }, workflow);
const execution3 = await createExecution({}, workflow);
const execution1 = await createExecution(
{
createdAt: now.plus({ minute: 1 }).toJSDate(),
startedAt: now.plus({ minute: 1 }).toJSDate(),
},
workflow,
);
const execution2 = await createExecution(
{
createdAt: now.plus({ minute: 2 }).toJSDate(),
startedAt: null,
},
workflow,
);
const execution3 = await createExecution(
{
createdAt: now.plus({ minute: 3 }).toJSDate(),
startedAt: now.plus({ minute: 3 }).toJSDate(),
},
workflow,
);
const executions = await executionRepository.findManyByRangeQuery({
workflowId: workflow.id,