Catbert4.Tests.Controllers.UserManagementControllerTests.UserManagementControllerTests.TestRemoveUnitThrowsExceptionIfCurrentUserDoesNotHaveAccess2 C# (CSharp) Метод

TestRemoveUnitThrowsExceptionIfCurrentUserDoesNotHaveAccess2() приватный Метод

private TestRemoveUnitThrowsExceptionIfCurrentUserDoesNotHaveAccess2 ( ) : void
Результат void
        public void TestRemoveUnitThrowsExceptionIfCurrentUserDoesNotHaveAccess2()
        {
            try
            {
                #region Arrange
                Controller.ControllerContext.HttpContext = new MockHttpContext(1, new[] { "" });
                ControllerRecordFakes.FakeApplications(3, ApplicationRepository);
                ControllerRecordFakes.FakeUnits(7, UnitRepository);
                ControllerRecordFakes.FakeUsers(3, UserRepository);

                var unitAssociations = new List<UnitAssociation>();
                for (int i = 0; i < 3; i++)
                {
                    unitAssociations.Add(CreateValidEntities.UnitAssociation(i + 1));
                    unitAssociations[i].Application = ApplicationRepository.GetNullableById(2);
                    unitAssociations[i].User = UserRepository.GetNullableById(1);
                    unitAssociations[i].Unit = UnitRepository.GetNullableById(i + 1);
                }
                ControllerRecordFakes.FakeUnitAssociations(2, UnitAssociationRepository, unitAssociations);
                UserService.Expect(a => a.CanUserManageGivenLogin("Name2", "UserName", "LoginId1")).Return(true).Repeat.Any();
                UnitService.Expect(a => a.GetVisibleByUser("Name2", "UserName")).Return(UnitRepository.Queryable.Where(a => a.Id >= 3)).Repeat.Any();
                #endregion Arrange

                #region Act
                Controller.RemoveUnit("Name2", "LoginId1", 2);
                #endregion Act
            }
            catch (Exception ex)
            {
                #region Assert
                Assert.IsNotNull(ex);
                Assert.AreEqual("UserName does not have access to manage the given unit", ex.Message);
                UserService.AssertWasCalled(a => a.CanUserManageGivenLogin("Name2", "UserName", "LoginId1"));
                UnitService.AssertWasCalled(a => a.GetVisibleByUser("Name2", "UserName"));
                UnitAssociationRepository.AssertWasNotCalled(a => a.Remove(Arg<UnitAssociation>.Is.Anything));
                #endregion Assert
                throw;
            }
        }
UserManagementControllerTests