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 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'); + }); });