From e59a9e555313f5c7fc0f4301c629b34ba13ca4c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Raimund=20Schl=C3=BC=C3=9Fler?= Date: Tue, 22 Oct 2019 08:14:56 +0200 Subject: =?UTF-8?q?Add=20tests=20for=20task=20model=20complete=20and=20sta?= =?UTF-8?q?tus=20Signed-off-by:=20Raimund=20Schl=C3=BC=C3=9Fler=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Raimund Schlüßler --- tests/models/task.spec.js | 66 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 tests/models/task.spec.js (limited to 'tests') 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) + }) +}) -- cgit v1.2.3