func TestUpdateTodo(t *testing.T) { // given client := client.TodoClient{Host: "http://localhost:8080"} todo, _ := client.CreateTodo("foo", "bar") // when todo.Status = "doing" todo.Title = "baz" todo.Description = "bing" _, err := client.UpdateTodo(todo) // then if err != nil { t.Error(err) } todoResult, _ := client.GetTodo(todo.Id) if !reflect.DeepEqual(todo, todoResult) { t.Error("returned todo not updated") } // cleanup _ = client.DeleteTodo(todo.Id) }
func TestGetAllTodos(t *testing.T) { // given client := client.TodoClient{Host: "http://localhost:8080"} client.CreateTodo("foo", "bar") client.CreateTodo("baz", "bing") // when todos, err := client.GetAllTodos() // then if err != nil { t.Error(err) } if len(todos) != 2 { t.Errorf("wrong number of todos: %d", len(todos)) } if todos[0].Title != "foo" && todos[0].Description != "bar" { t.Error("returned todo not right") } if todos[1].Title != "baz" && todos[1].Description != "bing" { t.Error("returned todo not right") } // cleanup _ = client.DeleteTodo(todos[0].Id) _ = client.DeleteTodo(todos[1].Id) }
func TestDeleteNotFoundTodo(t *testing.T) { // given client := client.TodoClient{Host: "http://localhost:8080"} id := int32(3) // when err := client.DeleteTodo(id) // then if err == nil { t.Error(err) } }
func TestUpdateNonExistantTodo(t *testing.T) { // given client := client.TodoClient{Host: "http://localhost:8080"} todo, _ := client.CreateTodo("foo", "bar") _ = client.DeleteTodo(todo.Id) // when todo.Status = "doing" todo.Title = "baz" todo.Description = "bing" _, err := client.UpdateTodo(todo) // then if err == nil { t.Error(err) } }
func TestCreateTodo(t *testing.T) { // given client := client.TodoClient{Host: "http://localhost:8080"} // when todo, err := client.CreateTodo("foo", "bar") //then if err != nil { t.Error(err) } if todo.Title != "foo" && todo.Description != "bar" { t.Error("returned todo not right") } // cleanup _ = client.DeleteTodo(todo.Id) }
func TestDeleteTodo(t *testing.T) { // given client := client.TodoClient{Host: "http://localhost:8080"} todo, _ := client.CreateTodo("foo", "bar") id := todo.Id // when err := client.DeleteTodo(id) // then if err != nil { t.Error(err) } _, err = client.GetTodo(id) if err == nil { t.Error(err) } }
func TestUpdateTodosStatus(t *testing.T) { // given client := client.TodoClient{Host: "http://localhost:8080"} todo, _ := client.CreateTodo("foo", "bar") // when _, err := client.UpdateTodoStatus(todo.Id, api.DoingStatus) // then if err != nil { t.Error(err) } todoResult, _ := client.GetTodo(todo.Id) if todoResult.Status != "doing" { t.Error("returned todo status not updated") } // cleanup _ = client.DeleteTodo(todo.Id) }