コード例 #1
0
        private bool IsRegisterAdminAllowed(int centreId)
        {
            var adminUsers            = userDataService.GetAdminUsersByCentreId(centreId);
            var hasCentreManagerAdmin = adminUsers.Any(user => user.IsCentreManager);

            var(autoRegistered, autoRegisterManagerEmail) = centresDataService.GetCentreAutoRegisterValues(centreId);
            return(!hasCentreManagerAdmin && !autoRegistered && !string.IsNullOrWhiteSpace(autoRegisterManagerEmail));
        }
コード例 #2
0
        public void IndexGet_with_centre_autoregistered_true_shows_AccessDenied_error()
        {
            // Given
            const int centreId = 7;

            A.CallTo(() => centresDataService.GetCentreName(centreId)).Returns("My centre");
            A.CallTo(() => centresDataService.GetCentreAutoRegisterValues(centreId)).Returns((true, "email@email"));
            A.CallTo(() => userDataService.GetAdminUsersByCentreId(centreId)).Returns(new List <AdminUser>());

            // When
            var result = controller.Index(centreId);

            // Then
            A.CallTo(() => centresDataService.GetCentreName(centreId)).MustHaveHappened(1, Times.Exactly);
            A.CallTo(() => centresDataService.GetCentreAutoRegisterValues(centreId)).MustHaveHappened(1, Times.Exactly);
            A.CallTo(() => userDataService.GetAdminUsersByCentreId(centreId)).MustHaveHappened(1, Times.Exactly);
            result.Should().BeRedirectToActionResult().WithControllerName("LearningSolutions")
            .WithActionName("AccessDenied");
        }