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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #5
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);
        }