public void CanCreateNewTodoItem() { DbContextOptions <TodoDbContext> options = new DbContextOptionsBuilder <TodoDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options; using (TodoDbContext context = new TodoDbContext(options)) { // Arrange TodoList todoList = new TodoList(); todoList.Name = "Daily"; TodoListController todoListController = new TodoListController(context); var x = todoListController.Post(todoList); TodoItem todoItem = new TodoItem() { Name = "Water the plants", IsComplete = true, TodoListID = 1 }; TodoItemController todoItemController = new TodoItemController(context); // Act var y = todoItemController.Post(todoItem); var results = y.Result; var answer = (ObjectResult)results; // Assert Assert.Equal(HttpStatusCode.Created, (HttpStatusCode)answer.StatusCode); } }
public void CanDeleteTodoItem() { DbContextOptions <TodoDbContext> options = new DbContextOptionsBuilder <TodoDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options; using (TodoDbContext context = new TodoDbContext(options)) { // Arrange TodoList todoList = new TodoList(); todoList.Name = "Daily"; TodoListController todoListController = new TodoListController(context); var x = todoListController.Post(todoList); TodoItem todoItem = new TodoItem() { Name = "Water the plants", IsComplete = true, TodoListID = 1 }; TodoItemController todoItemController = new TodoItemController(context); // Act var y = todoItemController.Post(todoItem); var results = todoItemController.Delete(1); var get = todoItemController.Get(); // Assert Assert.Empty(get); } }
public async void CanAddItemsToList() { DbContextOptions <TodoDbContext> options = new DbContextOptionsBuilder <TodoDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options; using (TodoDbContext context = new TodoDbContext(options)) { // Arrange TodoList todoList = new TodoList(); todoList.Name = "Daily"; TodoListController todoListController = new TodoListController(context); var x = todoListController.Post(todoList); TodoItem todoItem = new TodoItem() { Name = "Water the plants", IsComplete = true, TodoListID = 1 }; TodoItemController todoItemController = new TodoItemController(context); var y = todoItemController.Post(todoItem); // Act var results = await context.TodoItems.Where(i => i.TodoListID == 1).ToListAsync(); // Assert Assert.Single(results); } }
public void Post_ShouldBeAdded() { var controller = new TodoItemController(); var actionResult = controller.Post(new TodoItemCreateViewModel { Content = "A new todo" }); var response = actionResult as CreatedAtRouteNegotiatedContentResult <TodoItemGetViewModel>; Assert.IsNotNull(response); Assert.AreEqual(response.RouteName, "DefaultApi"); Assert.AreEqual(response.RouteValues["Id"], response.Content.Id); }
public void CanUpdateTodoItem() { DbContextOptions <TodoDbContext> options = new DbContextOptionsBuilder <TodoDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options; using (TodoDbContext context = new TodoDbContext(options)) { // Arrange TodoList todoList = new TodoList(); todoList.Name = "Daily"; TodoListController todoListController = new TodoListController(context); var x = todoListController.Post(todoList); TodoItem todoItem = new TodoItem() { Name = "Water the plants", IsComplete = false, TodoListID = 1 }; TodoItemController todoItemController = new TodoItemController(context); var y = todoItemController.Post(todoItem); // Act todoItem.IsComplete = true; var results = todoItemController.Put(1, todoItem); var answer = context.TodoItems.FirstOrDefault(i => i.ID == 1); // Assert Assert.True(answer.IsComplete); } }