diff options
| author | Grant Ammons <gammons@gmail.com> | 2016-06-12 09:49:38 -0400 |
|---|---|---|
| committer | Grant Ammons <gammons@gmail.com> | 2016-06-12 09:49:38 -0400 |
| commit | d8d4510d2faebff633d6e98fa4812f2461ae85b6 (patch) | |
| tree | be474ce669a994767867f2224d8cdd4103271aee /todolist/todo_list_test.go | |
| parent | fd9121e03c18c7dfd947e98ea4cec545f110a804 (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.go | 73 |
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) +} |
