diff options
author | Raimund Schlüßler <raimund.schluessler@mailbox.org> | 2019-10-22 09:14:56 +0300 |
---|---|---|
committer | Raimund Schlüßler <raimund.schluessler@mailbox.org> | 2019-10-26 14:59:04 +0300 |
commit | e59a9e555313f5c7fc0f4301c629b34ba13ca4c8 (patch) | |
tree | 5dca50da4edab40113017d60bdffda0f1fef3d32 /tests | |
parent | 54702d48ce35b368c8ef1437dcb281f8675a2d04 (diff) |
Add tests for task model complete and status
Signed-off-by: Raimund Schlüßler <raimund.schluessler@mailbox.org>
Signed-off-by: Raimund Schlüßler <raimund.schluessler@mailbox.org>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/models/task.spec.js | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/tests/models/task.spec.js b/tests/models/task.spec.js new file mode 100644 index 00000000..d25423d7 --- /dev/null +++ b/tests/models/task.spec.js @@ -0,0 +1,66 @@ +import Task from '../../src/models/task' + +describe('task', () => { + 'use strict' + + const vCalendar = ` + BEGIN:VCALENDAR\n + VERSION:2.0\n + PRODID:-//Nextcloud Tasks 0.11.3\n + BEGIN:VTODO\n + CREATED:20181119T183919\n + DTSTAMP:20190918T095816\n + LAST-MODIFIED:20190918T095816\n + UID:pwen4kz18g\n + SUMMARY:Test 1\n + END:VTODO\n + END:VCALENDAR` + + it('Should set status to "COMPLETED" on completion.', () => { + const task = new Task(vCalendar, {}) + task.complete = 100 + expect(task.status).toEqual('COMPLETED') + expect(task.completed).toEqual(true) + }) + + it('Should set status to "NEEDS-ACTION" when complete is 0.', () => { + const task = new Task(vCalendar, {}) + task.complete = 0 + expect(task.status).toEqual('NEEDS-ACTION') + expect(task.completedDate).toEqual(null) + expect(task.completed).toEqual(false) + }) + + it('Should set status to "IN-PROCESS" when complete is >0 and <100.', () => { + const task = new Task(vCalendar, {}) + task.complete = 50 + expect(task.status).toEqual('IN-PROCESS') + expect(task.completedDate).toEqual(null) + expect(task.completed).toEqual(false) + }) + + it('Should set complete to 100 when status is "COMPLETED".', () => { + const task = new Task(vCalendar, {}) + task.status = 'COMPLETED' + expect(task.complete).toEqual(100) + expect(task.completedDate).not.toEqual(null) + expect(task.completed).toEqual(true) + }) + + it('Should set complete to 0 when status is "NEEDS-ACTION".', () => { + const task = new Task(vCalendar, {}) + task.complete = 100 + task.status = 'NEEDS-ACTION' + expect(task.complete).toEqual(0) + expect(task.completed).toEqual(false) + }) + + it('Should set complete to >0 and <100 when status is "IN-PROCESS".', () => { + const task = new Task(vCalendar, {}) + task.complete = 100 + task.status = 'IN-PROCESS' + expect(task.complete).toBeGreaterThan(0) + expect(task.complete).toBeLessThan(100) + expect(task.completed).toEqual(false) + }) +}) |