public async void TestGoalDeleteOrgAdminDisplaysConfirmationPage() { const int goalId = 567; // Arrange var mockMediator = new Mock <IMediator>(); mockMediator.Setup(mock => mock.SendAsync(It.IsAny <GoalDeleteQuery>())) .ReturnsAsync(new GoalDeleteViewModel { Id = goalId, OwningOrganizationId = OrgAdminOrgId, TextualGoal = "This goal should be deleted", GoalType = GoalType.Numeric, NumericGoal = 100 }) .Verifiable(); var goalController = new GoalController(mockMediator.Object); var mockContext = MockControllerContextWithUser(OrgAdmin(OrgAdminOrgId)); goalController.ControllerContext = mockContext.Object; // Act var result = await goalController.Delete(goalId) as ViewResult; // Assert Assert.NotNull(result); Assert.Equal("Delete", result.ViewName); var goalDeleteViewModel = (GoalDeleteViewModel)result.ViewData.Model; Assert.Equal("This goal should be deleted", goalDeleteViewModel.TextualGoal); Assert.Equal(GoalType.Numeric, goalDeleteViewModel.GoalType); Assert.Equal(100, goalDeleteViewModel.NumericGoal); }
public async Task Delete_Should_Remove_Goal() { var goalId = 1; var expectedGoalsCount = 2; var result = await goalController.Delete(goalId); var allGoals = await repository.GetAllGoals(); var goalsCount = allGoals.Count; var goalsContainsRemovedGoal = allGoals.Any(x => x.Id == goalId); var viewResult = Assert.IsType <JsonResult>(result); var returnResult = viewResult.Value as ReturnResult; Assert.Equal(expectedGoalsCount, goalsCount); Assert.False(goalsContainsRemovedGoal); Assert.Equal(string.Empty, returnResult.Error); Assert.True(returnResult.Success); }
public async Task Delete_ShouldReturnNoContent( Guid goalId, GoalController sut) { // Arrange sut.GoalService.DeleteAsync(Arg.Is(goalId)).Returns(true); // Act var result = await sut.Delete(goalId); // Asserts result.Should().NotBeNull(); result.Should().BeOfType <NoContentResult>(); await sut.GoalService.Received(1).DeleteAsync(Arg.Is(goalId)); }
public void TestThatDeleteDeletes() { Data.Team team; Data.TeamMember teamMember; CreateTeamAndTeamMember(out team, out teamMember); _mockContainer.Goals.Add(new Data.Goal() { Completed = false, TeamId = team.Id, Id = 1 }); _controller.Delete(1); Assert.IsTrue(_mockContainer.Goals.Count() == 0); }
public async Task Delete_WhenDeleteFails_ShouldReturnNotModified( Guid goalId, GoalController sut) { // Arrange sut.GoalService.DeleteAsync(Arg.Is(goalId)).Returns(false); // Act var result = await sut.Delete(goalId); // Asserts result.Should().NotBeNull(); result.Should().BeOfType <StatusCodeResult>(); ((StatusCodeResult)result).StatusCode.Should().Be(304); await sut.GoalService.Received(1).DeleteAsync(Arg.Is(goalId)); }
public async void TestGoalDeleteForOrgAdminForNonexistantGoalReturn401() { // Arrange var mockMediator = new Mock <IMediator>(); mockMediator.Setup(mock => mock.SendAsync(It.IsAny <GoalDeleteQuery>())) .ReturnsAsync(null) .Verifiable(); var goalController = new GoalController(mockMediator.Object); var mockContext = MockControllerContextWithUser(OrgAdmin(OrgAdminOrgId)); goalController.ControllerContext = mockContext.Object; // Act var result = await goalController.Delete(987); // Assert Assert.IsType <UnauthorizedResult>(result); }
public async void TestGoalDeleteForWrongOrgAdminReturns401() { // Arrange var mockMediator = new Mock <IMediator>(); mockMediator.Setup(mock => mock.SendAsync(It.IsAny <GoalDeleteQuery>())) .ReturnsAsync(new GoalDeleteViewModel { OwningOrganizationId = OrgAdminOrgId }) .Verifiable(); var goalController = new GoalController(mockMediator.Object); var mockContext = MockControllerContextWithUser(OrgAdmin(654)); goalController.ControllerContext = mockContext.Object; // Act var result = await goalController.Delete(567); // Assert Assert.IsType <UnauthorizedResult>(result); }
public async void TestGoalDeleteForOrgAdminForNonexistantGoalReturn404() { // Arrange var mockMediator = new Mock <IMediator>(); mockMediator.Setup(mock => mock.SendAsync(It.IsAny <GoalDeleteQuery>())) .ReturnsAsync((GoalDeleteViewModel)null) .Verifiable(); mockMediator.Setup(x => x.SendAsync(It.IsAny <AuthorizableCampaignQuery>())).ReturnsAsync(new FakeAuthorizableCampaign(false, false, true, false)); var goalController = new GoalController(mockMediator.Object); var mockContext = MockControllerContextWithUser(OrgAdmin(OrgAdminOrgId)); goalController.ControllerContext = mockContext.Object; // Act var result = await goalController.Delete(987); // Assert Assert.IsType <NotFoundResult>(result); }
public void ShouldDeleteCorrectly() { Mock <IGenericService <Goal> > goalServiceMock = new Mock <IGenericService <Goal> >(); Goal goal = new Goal() { Id = 100, Bloom = "Understand", Description = @"Je begrijpt de basismechanismen voor access control, zodanig dat je in eigen woorden kunt uitleggen wat de betekenis is in de context van software security. " }; ClaimsPrincipal identity = new ClaimsPrincipal(new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.NameIdentifier, "123") })); goalServiceMock.Setup(m => m.FindById(It.IsAny <int>(), It.IsAny <string[]>())).Returns(goal); goalServiceMock.Setup(m => m.Delete(It.IsAny <Goal>())).Returns((Goal model) => { return(1); }); GoalController controller = new GoalController(goalServiceMock.Object) { ControllerContext = new ControllerContext() { HttpContext = new DefaultHttpContext() { User = identity } } }; RedirectToActionResult result = controller.Delete(goal.Id) as RedirectToActionResult; Assert.Equal("Index", result?.ActionName); }