public void GetToDoTask_IfTaskExists_ReturnToDoTask_ElseReturNotFoundResult(bool taskExists) { // Arrange var context = Substitute.For <IMyToDoListContext>(); var dbTask = new ToDoTask { ID = 1 }; var dbSet = GetDbSet(new List <ToDoTask> { dbTask }); context.ToDoTask.Returns(dbSet); ToDoTasksController controller = new ToDoTasksController(context); // Act if (taskExists) { context.ToDoTask.FindAsync(dbTask.ID).Returns(dbTask); var result = controller.GetToDoTask(dbTask.ID).Result.Value; // Assert Assert.AreEqual(dbTask, result); } else { var result = (controller.GetToDoTask(dbTask.ID).Result.Result as StatusCodeResult)?.StatusCode; // Assert Assert.AreEqual(404, result); } }
public void GetToDoTask_ActoinResultNotNull() { // Arrange var context = Substitute.For <IMyToDoListContext>(); var dbTaskList = new List <ToDoTask> { new ToDoTask { ID = 1 }, new ToDoTask { ID = 2 }, new ToDoTask { ID = 3 } }; var dbSet = GetDbSet(dbTaskList); context.ToDoTask.Returns(dbSet); ToDoTasksController controller = new ToDoTasksController(context); // Act var result = controller.GetToDoTask().Value.ToList(); // Assert Assert.AreEqual(dbTaskList, result); }
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 Update_WhenTaskNull_ShouldReturnBadRequest() { // Arrange var controller = new ToDoTasksController(MockToDoTaskRepository.Object, MockLogger.Object); // Act var actionResult = controller.Update(null); // Assert Assert.IsInstanceOfType(actionResult, typeof(BadRequestResult)); }
public void Delete_WhenTaskNotFound_ShouldReturnNotFound() { // Arrange MockToDoTaskRepository.Setup(r => r.Delete(It.IsAny <int>())).Returns(false); var controller = new ToDoTasksController(MockToDoTaskRepository.Object, MockLogger.Object); // Act var actionResult = controller.Delete(1); // Assert Assert.IsInstanceOfType(actionResult, typeof(NotFoundResult)); }
public void GetById_WhenTaskNotFound_ShouldReturnNull() { // Arrange MockToDoTaskRepository.Setup(r => r.GetById(It.IsAny <int>())).Returns((ToDoTask)null); var controller = new ToDoTasksController(MockToDoTaskRepository.Object, MockLogger.Object); // Act var result = controller.GetById(1); // Assert Assert.IsNull(result); }
public void Delete_WhenTaskFound_ShouldDeleteTask() { // Arrange MockToDoTaskRepository.Setup(r => r.Delete(It.IsAny <int>())).Returns(true); var controller = new ToDoTasksController(MockToDoTaskRepository.Object, MockLogger.Object); // Act var actionResult = controller.Delete(1); var createdResult = actionResult as CreatedNegotiatedContentResult <ToDoTask>; // Assert Assert.IsInstanceOfType(actionResult, typeof(OkResult)); }
public void GetAll_WhenNoneFound_ShouldReturnAnEmptyCollection() { // Arrange MockToDoTaskRepository.Setup(r => r.GetAll()).Returns(new List <ToDoTask>()); var controller = new ToDoTasksController(MockToDoTaskRepository.Object, MockLogger.Object); // Act var result = controller.GetAll().ToList(); // Assert Assert.IsNotNull(result); Assert.AreEqual(0, result.Count()); }
public void Update_WhenTaskNotNull_ShouldUpdateTask() { // Arrange MockToDoTaskRepository.Setup(r => r.Upsert(It.IsAny <ToDoTask>())).Returns(true); var controller = new ToDoTasksController(MockToDoTaskRepository.Object, MockLogger.Object); // Act var actionResult = controller.Update(MockTodo); var createdResult = actionResult as CreatedNegotiatedContentResult <ToDoTask>; // Assert Assert.IsNotNull(createdResult); Assert.IsNotNull(createdResult.Content.Id); }
public void GetById_WhenTaskFound_ShouldReturnTask() { // Arrange MockToDoTaskRepository.Setup(r => r.GetById(It.IsAny <int>())).Returns(MockTodo); var controller = new ToDoTasksController(MockToDoTaskRepository.Object, MockLogger.Object); // Act var result = controller.GetById(1); // Assert Assert.IsNotNull(result); Assert.AreEqual(MockTodo.Id, result.Id); Assert.AreEqual(MockTodo.TaskDescription, result.TaskDescription); Assert.AreEqual(MockTodo.TaskCreationTime, result.TaskCreationTime); Assert.AreEqual(MockTodo.TaskCompleted, result.TaskCompleted); }
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 void PostToDoTask_ReturnsCreatedAtActionResult() { // 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 var result = (controller.PostToDoTask(uiTask).Result.Result as CreatedAtActionResult).StatusCode; // Assert Assert.AreEqual(201, result); }
public void GetAll_WhenTasksFound_ShouldReturnTasks() { // Arrange MockToDoTaskRepository.Setup(r => r.GetAll()).Returns(MockTodosList); var controller = new ToDoTasksController(MockToDoTaskRepository.Object, MockLogger.Object); // Act var result = controller.GetAll().ToList(); // Assert Assert.IsNotNull(result); Assert.AreEqual(2, result.Count()); Assert.AreEqual(MockTodosList[0].Id, result[0].Id); Assert.AreEqual(MockTodosList[0].TaskDescription, result[0].TaskDescription); Assert.AreEqual(MockTodosList[0].TaskCreationTime, result[0].TaskCreationTime); Assert.AreEqual(MockTodosList[0].TaskCompleted, result[0].TaskCompleted); Assert.AreEqual(MockTodosList[1].Id, result[1].Id); Assert.AreEqual(MockTodosList[1].TaskDescription, result[1].TaskDescription); Assert.AreEqual(MockTodosList[1].TaskCreationTime, result[1].TaskCreationTime); Assert.AreEqual(MockTodosList[1].TaskCompleted, result[1].TaskCompleted); }
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); }
public void Initialize() { mockToDoTaskService = new Mock <IToDoTaskService>(); toDoTasksController = new ToDoTasksController(mockToDoTaskService.Object); }