Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        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);
            }
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
            }
        }