Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/tasks.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRaimund Schlüßler <raimund.schluessler@mailbox.org>2019-10-22 09:14:56 +0300
committerRaimund Schlüßler <raimund.schluessler@mailbox.org>2019-10-26 14:59:04 +0300
commite59a9e555313f5c7fc0f4301c629b34ba13ca4c8 (patch)
tree5dca50da4edab40113017d60bdffda0f1fef3d32 /tests
parent54702d48ce35b368c8ef1437dcb281f8675a2d04 (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.js66
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)
+ })
+})