public void Edit_ChangeMembershipFailed_EditViewWithErrorReturned()
        {
            // Arrange
            var modifiedRolesModel = new ModifiedRoleViewModel();

            modifiedRolesModel.RoleId      = 1;
            modifiedRolesModel.IdsToAdd    = new[] { 1, 2 };
            modifiedRolesModel.IdsToDelete = new[] { 3, 4 };

            const string ANY_ERROR_MESSAGE = "some message";

            _rolesServiceMock.Setup(
                r => r.ChangeRoleMembership(It.IsAny <int>(), It.IsAny <int[]>(), It.IsAny <int[]>()))
            .Throws(new Exception(ANY_ERROR_MESSAGE));

            var service = BuildSUT();

            // Act
            service.Edit(modifiedRolesModel);

            // Assert
            AssertModelStateError(service.ModelState, ANY_ERROR_MESSAGE);

            VerifyCheckAccess(AuthOperations.AdminDashboard.View, Times.Once());
        }
        public void Edit_ChangeMembershipSuccessful_RedirectedToIndex()
        {
            // Arrange
            var modifiedRolesModel = new ModifiedRoleViewModel
            {
                RoleId      = 1,
                IdsToAdd    = new[] { 1, 2 },
                IdsToDelete = new[] { 3, 4 }
            };

            var service = BuildSUT();

            // Act
            var actionResult = service.Edit(modifiedRolesModel);

            // Assert
            // ToDo: detailed arguments check
            _rolesServiceMock.Verify(
                r => r.ChangeRoleMembership(It.IsAny <int>(), It.IsAny <int[]>(), It.IsAny <int[]>()),
                Times.Once);

            AssertValidRedirectResult(actionResult);

            VerifyCheckAccess(AuthOperations.AdminDashboard.View, Times.Once());
        }
示例#3
0
        public ActionResult Edit(ModifiedRoleViewModel modifiedRoles)
        {
            _authService.CheckAccess(AuthOperations.AdminDashboard.View);

            _rolesService.ChangeRoleMembership(
                modifiedRoles.RoleId,
                modifiedRoles.IdsToAdd,
                modifiedRoles.IdsToDelete);
            return(RedirectToAction("Index"));
        }
        public ActionResult Edit(ModifiedRoleViewModel modifiedRoles)
        {
            _authService.CheckAccess(AuthOperations.AdminDashboard.View);

            try
            {
                _rolesService.ChangeRoleMembership(
                    modifiedRoles.RoleId,
                    modifiedRoles.IdsToAdd,
                    modifiedRoles.IdsToDelete);
                return(RedirectToAction("Index"));
            }
            catch (Exception e)
            {
                ModelState.AddModelError(string.Empty, e.Message);
                return(View());
            }
        }