public async Task PutToDoTask_IfTaskExists_ReturnsNotFoundResult_ElseReturnNoContentResult(bool toDoTaskExists)
        {
            // Arrange
            var context = Substitute.For <IMyToDoListContext>();
            var dbTask  = new ToDoTask {
                ID = 1
            };
            var uiTask = new ToDoTask {
                ID = dbTask.ID
            };
            var dbSet = GetDbSet(new List <ToDoTask> {
                dbTask
            });

            context.ToDoTask.Returns(dbSet);
            ToDoTasksController controller = new ToDoTasksController(context);

            if (toDoTaskExists)
            {
                // Act
                var result = (await controller.PutToDoTask(dbTask.ID, uiTask) as StatusCodeResult)?.StatusCode;
                // Assert
                Assert.AreEqual(204, result);
            }
            else
            {
                uiTask.ID = 2;
                // Act
                var result = (await controller.PutToDoTask(uiTask.ID, uiTask) as StatusCodeResult)?.StatusCode;
                // Assert
                Assert.AreEqual(404, result);
            }
        }
Exemple #2
0
        public void UpdateToDoTask_Return_NoContent()
        {
            // ACT
            var result = toDoTasksController.PutToDoTask(1, new ToDoTaskDTO {
                Id = 1
            }) as StatusCodeResult;

            // ASSERT
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(StatusCodeResult));
            Assert.AreEqual(HttpStatusCode.NoContent, result.StatusCode);
        }
        public async Task PutToDoTask_IfToDoTaskIDNotEqalId_ReturnsBadReqestResult()
        {
            var context = Substitute.For <IMyToDoListContext>();
            var dbTask  = new ToDoTask {
                ID = 1
            };
            var uiTask = new ToDoTask {
                ID = dbTask.ID
            };
            var dbSet = GetDbSet(new List <ToDoTask>());

            context.ToDoTask.Returns(dbSet);
            ToDoTasksController controller = new ToDoTasksController(context);
            // Act
            var result = (await controller.PutToDoTask(dbTask.ID + 1, uiTask) as StatusCodeResult)?.StatusCode;

            // Assert
            Assert.AreEqual(400, result);
        }
        public async Task PutToDoTask_IfValidPramsPassed_UpdatesDatabase()
        {
            // Arrange
            var context = Substitute.For <IMyToDoListContext>();
            ToDoTasksController controller = new ToDoTasksController(context);
            var dbTask = new ToDoTask {
                ID = 1
            };
            var uiTask = new ToDoTask {
                ID = dbTask.ID, Status = "done"
            };
            var dbSet = GetDbSet(new List <ToDoTask> {
                dbTask
            });

            context.ToDoTask.Returns(dbSet);
            // Act
            await controller.PutToDoTask(dbTask.ID, uiTask);

            // Assert
            await context.Received().SaveChangesAsync();

            Assert.AreEqual(dbTask.Status, uiTask.Status);
        }