From d8d4510d2faebff633d6e98fa4812f2461ae85b6 Mon Sep 17 00:00:00 2001 From: Grant Ammons Date: Sun, 12 Jun 2016 09:49:38 -0400 Subject: Refactor todolist stuff out of the file store implementation --- todolist/todo_list_test.go | 73 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 todolist/todo_list_test.go (limited to 'todolist/todo_list_test.go') 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) +} -- cgit v1.3