From caab0b1d370e7dcb1233054eef2eae1409c402a2 Mon Sep 17 00:00:00 2001 From: ChristosTsiotsias <71635617+ChristosTsiotsias@users.noreply.github.com> Date: Tue, 23 Jan 2024 16:43:01 +0000 Subject: [PATCH] ISSUE #4713 Status is now a default property unit and e2e adjustments --- backend/src/v5/schemas/tickets/templates.constants.js | 2 +- .../routes/teamspaces/projects/models/common/tickets.test.js | 2 ++ .../tests/v5/e2e/services/chat/modelEvents/tickets.test.js | 2 ++ .../tests/v5/unit/schemas/tickets/templates.constants.test.js | 4 ++-- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/backend/src/v5/schemas/tickets/templates.constants.js b/backend/src/v5/schemas/tickets/templates.constants.js index 20ba7cecf1c..fd97dbf2fd2 100644 --- a/backend/src/v5/schemas/tickets/templates.constants.js +++ b/backend/src/v5/schemas/tickets/templates.constants.js @@ -104,10 +104,10 @@ TemplateConstants.defaultProperties = [ createPropertyEntry('Owner', propTypes.TEXT, undefined, undefined, true), createPropertyEntry('Created at', propTypes.DATE, undefined, undefined, true), createPropertyEntry('Updated at', propTypes.DATE, undefined, undefined, true), + createPropertyEntry('Status', propTypes.ONE_OF, ['Open', 'In Progress', 'For Approval', 'Closed', 'Void'], 'Open'), createPropertyEntry('Default Image', propTypes.IMAGE, undefined, undefined, undefined, ({ defaultImage }) => defaultImage), createPropertyEntry('Default View', propTypes.VIEW, undefined, undefined, undefined, ({ defaultView }) => defaultView), createPropertyEntry('Priority', propTypes.ONE_OF, ['None', 'Low', 'Medium', 'High'], 'None', undefined, ({ issueProperties }) => issueProperties), - createPropertyEntry('Status', propTypes.ONE_OF, ['Open', 'In Progress', 'For Approval', 'Closed', 'Void'], 'Open', undefined, ({ issueProperties }) => issueProperties), createPropertyEntry('Assignees', propTypes.MANY_OF, presetEnumValues.JOBS_AND_USERS, undefined, undefined, ({ issueProperties }) => issueProperties), createPropertyEntry('Due Date', propTypes.DATE, undefined, undefined, undefined, ({ issueProperties }) => issueProperties), createPropertyEntry('Pin', propTypes.COORDS, undefined, undefined, undefined, ({ pin }) => pin), diff --git a/backend/tests/v5/e2e/routes/teamspaces/projects/models/common/tickets.test.js b/backend/tests/v5/e2e/routes/teamspaces/projects/models/common/tickets.test.js index 740c4d9223a..ca97807b7c4 100644 --- a/backend/tests/v5/e2e/routes/teamspaces/projects/models/common/tickets.test.js +++ b/backend/tests/v5/e2e/routes/teamspaces/projects/models/common/tickets.test.js @@ -719,6 +719,7 @@ const testUpdateTicket = () => { expect(updatedTicket).toHaveProperty('number'); expect(updatedTicket.properties).toHaveProperty(basePropertyLabels.UPDATED_AT); expect(updatedTicket.properties).toHaveProperty(basePropertyLabels.CREATED_AT); + expect(updatedTicket.properties).toHaveProperty(basePropertyLabels.STATUS); expect(updatedTicket.properties).toHaveProperty(basePropertyLabels.OWNER); expect(updatedTicket.properties[basePropertyLabels.UPDATED_AT]) .not.toEqual(ticket.properties[basePropertyLabels.UPDATED_AT]); @@ -729,6 +730,7 @@ const testUpdateTicket = () => { ...ticket.properties, [basePropertyLabels.UPDATED_AT]: updatedTicket.properties[basePropertyLabels.UPDATED_AT], [basePropertyLabels.CREATED_AT]: updatedTicket.properties[basePropertyLabels.CREATED_AT], + [basePropertyLabels.STATUS]: updatedTicket.properties[basePropertyLabels.STATUS], [basePropertyLabels.OWNER]: updatedTicket.properties[basePropertyLabels.OWNER], ...(payloadChanges?.properties ?? {}), [imagePropName]: updatedTicket.properties[imagePropName], diff --git a/backend/tests/v5/e2e/services/chat/modelEvents/tickets.test.js b/backend/tests/v5/e2e/services/chat/modelEvents/tickets.test.js index c6b876b6b47..200b29e13ec 100644 --- a/backend/tests/v5/e2e/services/chat/modelEvents/tickets.test.js +++ b/backend/tests/v5/e2e/services/chat/modelEvents/tickets.test.js @@ -99,6 +99,7 @@ const ticketAddedTest = () => { new Date(getRes.body.properties[basePropertyLabels.UPDATED_AT]).getTime(), [basePropertyLabels.CREATED_AT]: new Date(getRes.body.properties[basePropertyLabels.CREATED_AT]).getTime(), + [basePropertyLabels.STATUS]: getRes.body.properties[basePropertyLabels.STATUS], }, number: 1, }, @@ -138,6 +139,7 @@ const ticketAddedTest = () => { new Date(getRes.body.properties[basePropertyLabels.UPDATED_AT]).getTime(), [basePropertyLabels.CREATED_AT]: new Date(getRes.body.properties[basePropertyLabels.CREATED_AT]).getTime(), + [basePropertyLabels.STATUS]: getRes.body.properties[basePropertyLabels.STATUS], }, number: 1, }, diff --git a/backend/tests/v5/unit/schemas/tickets/templates.constants.test.js b/backend/tests/v5/unit/schemas/tickets/templates.constants.test.js index de9bf498e10..1bb84e06425 100644 --- a/backend/tests/v5/unit/schemas/tickets/templates.constants.test.js +++ b/backend/tests/v5/unit/schemas/tickets/templates.constants.test.js @@ -24,10 +24,10 @@ const testGetApplicableDefaultProperties = () => { const basicProp = [{ name: 'Description', type: TemplateConstants.propTypes.LONG_TEXT }, { name: 'Owner', type: TemplateConstants.propTypes.TEXT, readOnly: true }, { name: 'Created at', type: TemplateConstants.propTypes.DATE, readOnly: true }, - { name: 'Updated at', type: TemplateConstants.propTypes.DATE, readOnly: true }]; + { name: 'Updated at', type: TemplateConstants.propTypes.DATE, readOnly: true }, + { name: 'Status', type: TemplateConstants.propTypes.ONE_OF, values: ['Open', 'In Progress', 'For Approval', 'Closed', 'Void'], default: 'Open' }]; const issueProp = [{ name: 'Priority', type: TemplateConstants.propTypes.ONE_OF, values: ['None', 'Low', 'Medium', 'High'], default: 'None' }, - { name: 'Status', type: TemplateConstants.propTypes.ONE_OF, values: ['Open', 'In Progress', 'For Approval', 'Closed', 'Void'], default: 'Open' }, { name: 'Assignees', type: TemplateConstants.propTypes.MANY_OF, values: TemplateConstants.presetEnumValues.JOBS_AND_USERS }, { name: 'Due Date', type: TemplateConstants.propTypes.DATE }]; test('Should only return the basic properties if none of the optional flags are configured', () => {