public async Task DeleteReturnsCorrectViewModelAndView() { const int organizationId = 1; var taskSummaryModel = new TaskSummaryModel { OrganizationId = organizationId }; var mediator = new Mock<IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny<TaskQueryAsync>())).ReturnsAsync(taskSummaryModel); var sut = new TaskController(mediator.Object, Mock.Of<ITaskSummaryModelValidator>()); MakeUserOrganizationAdminUser(sut, organizationId.ToString()); var result = await sut.Delete(It.IsAny<int>()) as ViewResult; var modelResult = result.ViewData.Model as TaskSummaryModel; Assert.IsType<ViewResult>(result); Assert.IsType<TaskSummaryModel>(modelResult); Assert.Equal(modelResult, taskSummaryModel); }
public async Task DeleteReturnsHttpUnauthorizedResultWhenUserIsNotOrgAdmin() { var mediator = new Mock<IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny<TaskQueryAsync>())).ReturnsAsync(new TaskSummaryModel()); var sut = new TaskController(mediator.Object, Mock.Of<ITaskSummaryModelValidator>()); sut.SetDefaultHttpContext(); var result = await sut.Delete(It.IsAny<int>()); Assert.IsType<HttpUnauthorizedResult>(result); }
public async Task DeleteReturnsHttpNotFoundResultWhenTaskIsNull() { var sut = new TaskController(Mock.Of<IMediator>(), Mock.Of<ITaskSummaryModelValidator>()); var result = await sut.Delete(It.IsAny<int>()); Assert.IsType<HttpNotFoundResult>(result); }
public async Task DeleteSendsTaskQueryAsyncWithCorrectTaskId() { const int taskId = 1; var mediator = new Mock<IMediator>(); var sut = new TaskController(mediator.Object, Mock.Of<ITaskSummaryModelValidator>()); await sut.Delete(taskId); mediator.Verify(x => x.SendAsync(It.Is<TaskQueryAsync>(y => y.TaskId == taskId)), Times.Once); }
public async Task DeleteReturnsCorrectViewModelAndView() { const int organizationId = 1; var deleteViewModel = new DeleteViewModel { OrganizationId = organizationId }; var mediator = new Mock<IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny<DeleteQueryAsync>())).ReturnsAsync(deleteViewModel); var sut = new TaskController(mediator.Object, null); sut.MakeUserAnOrgAdmin(organizationId.ToString()); var result = await sut.Delete(It.IsAny<int>()) as ViewResult; var modelResult = result.ViewData.Model as DeleteViewModel; Assert.IsType<ViewResult>(result); Assert.IsType<DeleteViewModel>(modelResult); Assert.Equal(modelResult, deleteViewModel); }
public async Task DeleteSendsDeleteQueryAsyncWithCorrectTaskId() { const int taskId = 1; const int organizationId = 1; var mediator = new Mock<IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny<DeleteQueryAsync>())).ReturnsAsync(new DeleteViewModel { OrganizationId = organizationId }); var sut = new TaskController(mediator.Object, null); sut.MakeUserAnOrgAdmin(organizationId.ToString()); await sut.Delete(taskId); mediator.Verify(x => x.SendAsync(It.Is<DeleteQueryAsync>(y => y.TaskId == taskId)), Times.Once); }