aboutsummaryrefslogtreecommitdiffstats
path: root/todolist/todo_list_test.go
diff options
context:
space:
mode:
authorGrant Ammons <gammons@gmail.com>2016-06-12 09:49:38 -0400
committerGrant Ammons <gammons@gmail.com>2016-06-12 09:49:38 -0400
commitd8d4510d2faebff633d6e98fa4812f2461ae85b6 (patch)
treebe474ce669a994767867f2224d8cdd4103271aee /todolist/todo_list_test.go
parentfd9121e03c18c7dfd947e98ea4cec545f110a804 (diff)
Refactor todolist stuff out of the file store implementation
Diffstat (limited to 'todolist/todo_list_test.go')
-rw-r--r--todolist/todo_list_test.go73
1 files changed, 73 insertions, 0 deletions
diff --git a/todolist/todo_list_test.go b/todolist/todo_list_test.go
new file mode 100644
index 0000000..941106d
--- /dev/null
+++ b/todolist/todo_list_test.go
@@ -0,0 +1,73 @@
+package todolist
+
+import (
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestNextId(t *testing.T) {
+ assert := assert.New(t)
+ list := &TodoList{}
+ assert.Equal(1, list.NextId())
+}
+
+func TestIndexOf(t *testing.T) {
+ assert := assert.New(t)
+ todo := &Todo{Subject: "Grant"}
+ store := &FileStore{FileLocation: "todos.json"}
+ list := &TodoList{}
+ list.Load(store.Load())
+
+ assert.Equal(-1, list.IndexOf(todo))
+ assert.Equal(0, list.IndexOf(list.Data[0]))
+}
+
+func TestDelete(t *testing.T) {
+ assert := assert.New(t)
+ store := &FileStore{FileLocation: "todos.json"}
+ list := &TodoList{}
+ list.Load(store.Load())
+ assert.Equal(2, len(list.Data))
+ list.Delete(1)
+ assert.Equal(1, len(list.Data))
+}
+
+func TestComplete(t *testing.T) {
+ assert := assert.New(t)
+ store := &FileStore{FileLocation: "todos.json"}
+ list := &TodoList{}
+ list.Load(store.Load())
+ assert.Equal(false, list.FindById(1).Completed)
+ list.Complete(1)
+ assert.Equal(true, list.FindById(1).Completed)
+}
+
+func TestArchive(t *testing.T) {
+ assert := assert.New(t)
+ store := &FileStore{FileLocation: "todos.json"}
+ list := &TodoList{}
+ list.Load(store.Load())
+ assert.Equal(false, list.FindById(2).Archived)
+ list.Archive(2)
+ assert.Equal(true, list.FindById(2).Archived)
+}
+func TestUnarchive(t *testing.T) {
+ assert := assert.New(t)
+ store := &FileStore{FileLocation: "todos.json"}
+ list := &TodoList{}
+ list.Load(store.Load())
+ assert.Equal(true, list.FindById(1).Archived)
+ list.Unarchive(1)
+ assert.Equal(false, list.FindById(1).Archived)
+}
+
+func TestUncomplete(t *testing.T) {
+ assert := assert.New(t)
+ store := &FileStore{FileLocation: "todos.json"}
+ list := &TodoList{}
+ list.Load(store.Load())
+ assert.Equal(true, list.FindById(2).Completed)
+ list.Uncomplete(2)
+ assert.Equal(false, list.FindById(2).Completed)
+}