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); } }
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); }