From dcb2df2a275a9ec584245f4bbcd81b66e3c79386 Mon Sep 17 00:00:00 2001 From: Joy Date: Thu, 14 Dec 2023 23:57:01 +0530 Subject: [PATCH 1/2] Bug : Fixed task red issue on my site --- app/components/task/holder.js | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/app/components/task/holder.js b/app/components/task/holder.js index 8fbac86a..a25b3f3b 100644 --- a/app/components/task/holder.js +++ b/app/components/task/holder.js @@ -14,6 +14,20 @@ export default class TasksHolderComponent extends Component { TASK_KEYS = TASK_KEYS; availabletaskStatusList = TASK_STATUS_LIST; + constructor() { + super(...arguments); + if (this.args.dev) { + this.status = + this.args.task.status === TASK_KEYS.COMPLETED + ? TASK_KEYS.DONE + : this.args.task.status; + } else { + this.status = + this.args.task.status === TASK_KEYS.DONE + ? TASK_KEYS.COMPLETED + : this.args.task.status; + } + } get taskStatusList() { const statusToDisplay = this.availabletaskStatusList.filter( (taskStatus) => { @@ -35,7 +49,7 @@ export default class TasksHolderComponent extends Component { ]; if ( this.args.task.endsOn * 1000 < Date.now() && - !statusNotOverDueList.includes(this.args.task.status) + !statusNotOverDueList.includes(this.status) ) { return 'task-late'; } else return ''; @@ -85,7 +99,7 @@ export default class TasksHolderComponent extends Component { } get isProgressBarDisabled() { - return this.args.task.status !== TASK_KEYS.IN_PROGRESS; + return this.status !== TASK_KEYS.IN_PROGRESS; } @action From 49958bd0c1a213fb82c7c95906762e38e0f921a6 Mon Sep 17 00:00:00 2001 From: Joy Date: Thu, 14 Dec 2023 23:57:26 +0530 Subject: [PATCH 2/2] Test : Added test for status conversion based on flag --- tests/fixtures/tasks.js | 26 +++++++++++ .../components/tasks/holder-test.js | 46 +++++++++++++++++++ 2 files changed, 72 insertions(+) diff --git a/tests/fixtures/tasks.js b/tests/fixtures/tasks.js index cf2285cb..d4064884 100644 --- a/tests/fixtures/tasks.js +++ b/tests/fixtures/tasks.js @@ -51,6 +51,32 @@ const tasks = [ featureUrl: 'aliqua non minim', purpose: 'quis nostrud deserunt', }, + { + id: 't5', + title: 'Task Object 1', + startedOn: 1662800000, + isNoteworthy: true, + endsOn: 1662803133, + percentCompleted: 100, + type: 'eu', + status: 'COMPLETED', + assignee: 'user1', + featureUrl: 'aliqua non minim', + purpose: 'quis nostrud deserunt', + }, + { + id: 't6', + title: 'Task Object 1', + startedOn: 1662800000, + isNoteworthy: true, + endsOn: 1662803133, + percentCompleted: 100, + type: 'eu', + status: 'DONE', + assignee: 'user1', + featureUrl: 'aliqua non minim', + purpose: 'quis nostrud deserunt', + }, ]; const overDueTask = { diff --git a/tests/integration/components/tasks/holder-test.js b/tests/integration/components/tasks/holder-test.js index 836fad05..1a7f6ddb 100644 --- a/tests/integration/components/tasks/holder-test.js +++ b/tests/integration/components/tasks/holder-test.js @@ -300,4 +300,50 @@ module('Integration | Component | Tasks Holder', function (hooks) { assert.dom('[data-test-task-status-select]').exists(); assert.dom('[data-test-dropdown-option=Done]').hasText('Done'); }); + + test('Render Task holder and check if COMPLETED status is being converted to DONE in dev mode', async function (assert) { + this.set('task', tasksData[4]); + this.set('mock', () => {}); + this.set('isLoading', false); + this.set('disabled', false); + this.set('defaultType', DEFAULT_TASK_TYPE); + this.set('dev', true); + + await render(hbs``); + + assert.dom('[data-test-task-status-select]').exists(); + assert.dom('[data-test-dropdown-option=Done]').hasText('Done'); + }); + + test('Render Task holder and check if DONE status is being converted to COMPLETED without dev mode', async function (assert) { + this.set('task', tasksData[5]); + this.set('mock', () => {}); + this.set('isLoading', false); + this.set('disabled', false); + this.set('defaultType', DEFAULT_TASK_TYPE); + this.set('dev', false); + + await render(hbs``); + + assert.dom('[data-test-task-status-select]').exists(); + assert.dom('[data-test-dropdown-option=Completed]').hasText('Completed'); + }); });