fix(core): Handle insights by workflow table for deleted workflows (#18496)

This commit is contained in:
Guillaume Jacquart
2025-08-18 17:49:21 +02:00
committed by GitHub
parent 9d48a44958
commit 741dd693a4
4 changed files with 47 additions and 22 deletions

View File

@@ -69,24 +69,40 @@ describe('insightsSummarySchema', () => {
});
describe('insightsByWorkflowSchema', () => {
const validInsightsByWorkflow = {
count: 2,
data: [
{
workflowId: 'w1',
workflowName: 'Test Workflow',
projectId: 'p1',
projectName: 'Test Project',
total: 100,
succeeded: 90,
failed: 10,
failureRate: 0.56,
runTime: 300,
averageRunTime: 30.5,
timeSaved: 50,
},
],
};
test.each([
{
name: 'valid workflow insights',
value: validInsightsByWorkflow,
expected: true,
},
{
name: 'workflow insights with nullable workflow id and project id',
value: {
count: 2,
...validInsightsByWorkflow,
data: [
{
workflowId: 'w1',
workflowName: 'Test Workflow',
projectId: 'p1',
projectName: 'Test Project',
total: 100,
succeeded: 90,
failed: 10,
failureRate: 0.56,
runTime: 300,
averageRunTime: 30.5,
timeSaved: 50,
...validInsightsByWorkflow.data[0],
workflowId: null,
projectId: null,
},
],
},

View File

@@ -48,9 +48,11 @@ export const insightsByWorkflowDataSchemas = {
data: z.array(
z
.object({
workflowId: z.string(),
// Workflow id will be null if the workflow has been deleted
workflowId: z.string().nullable(),
workflowName: z.string(),
projectId: z.string(),
// Project id will be null if the project has been deleted
projectId: z.string().nullable(),
projectName: z.string(),
total: z.number(),
succeeded: z.number(),