Esempio n. 1
0
        EditRolesViewModel_does_set_up_Cms_admin_radio_button_when_its_limit_is_reached_and_user_is_a_cms_admin()
        {
            // Given
            var adminUser      = UserTestHelper.GetDefaultAdminUser(importOnly: true, isContentManager: true);
            var numberOfAdmins =
                CentreContractAdminUsageTestHelper.GetDefaultNumberOfAdministrators(
                    cmsAdministrators: 5,
                    cmsAdministratorSpots: 5
                    );

            // When
            var result = new EditRolesViewModel(
                adminUser,
                1,
                categories,
                numberOfAdmins,
                ReturnPageQueryHelper.GetDefaultReturnPageQuery()
                );

            // Then
            using (new AssertionScope())
            {
                result.Radios.Count.Should().Be(3);
                result.Radios.Contains(AdminRoleInputs.CmsAdministratorRadioButton).Should().BeTrue();
                result.NotAllRolesDisplayed.Should().BeFalse();
                result.NoContentManagerOptionsAvailable.Should().BeFalse();
            }
        }
Esempio n. 2
0
        EditRolesViewModel_sets_only_NoCmsPermissions_radio_button_when_both_limits_reached_and_user_has_no_permissions()
        {
            // Given
            var adminUser      = UserTestHelper.GetDefaultAdminUser(importOnly: false, isContentManager: false);
            var numberOfAdmins =
                CentreContractAdminUsageTestHelper.GetDefaultNumberOfAdministrators(
                    cmsManagers: 5,
                    cmsManagerSpots: 5,
                    cmsAdministrators: 5,
                    cmsAdministratorSpots: 5
                    );

            // When
            var result = new EditRolesViewModel(
                adminUser,
                1,
                categories,
                numberOfAdmins,
                ReturnPageQueryHelper.GetDefaultReturnPageQuery()
                );

            // Then
            using (new AssertionScope())
            {
                result.Radios.Count.Should().Be(1);
                result.Radios.Contains(AdminRoleInputs.NoCmsPermissionsRadioButton).Should().BeTrue();
                result.NotAllRolesDisplayed.Should().BeTrue();
                result.NoContentManagerOptionsAvailable.Should().BeTrue();
            }
        }
        public void ViewModel_populates_expected_values()
        {
            // Given
            var numberOfAdmins = CentreContractAdminUsageTestHelper.GetDefaultNumberOfAdministrators(
                7,
                6,
                1,
                trainerSpots: 15,
                cmsAdministrators: 3,
                cmsAdministratorSpots: 12,
                cmsManagers: 2,
                cmsManagerSpots: 13,
                ccLicences: 2,
                ccLicenceSpots: 14
                );

            // When
            var viewModel = new NumberOfAdministratorsViewModel(numberOfAdmins);

            // Then
            viewModel.Admins.Should().Be("7");
            viewModel.Supervisors.Should().Be("6");
            viewModel.CmsAdministrators.Should().Be("3 / 12");
            viewModel.CmsManagers.Should().Be("2 / 13");
            viewModel.CcLicences.Should().Be("2 / 14");
            viewModel.Trainers.Should().Be("1 / 15");
        }
Esempio n. 4
0
        public void EditRolesViewModel_sets_up_all_checkboxes_and_inputs_when_under_limits()
        {
            // Given
            var adminUser      = UserTestHelper.GetDefaultAdminUser();
            var numberOfAdmins = CentreContractAdminUsageTestHelper.GetDefaultNumberOfAdministrators();

            // When
            var result = new EditRolesViewModel(
                adminUser,
                1,
                categories,
                numberOfAdmins,
                ReturnPageQueryHelper.GetDefaultReturnPageQuery()
                );

            // Then
            using (new AssertionScope())
            {
                result.Checkboxes.Count.Should().Be(5);
                result.Radios.Count.Should().Be(3);
                result.Checkboxes.Contains(AdminRoleInputs.CentreAdminCheckbox).Should().BeTrue();
                result.Checkboxes.Contains(AdminRoleInputs.SupervisorCheckbox).Should().BeTrue();
                result.Checkboxes.Contains(AdminRoleInputs.TrainerCheckbox).Should().BeTrue();
                result.Checkboxes.Contains(AdminRoleInputs.ContentCreatorCheckbox).Should().BeTrue();
                result.Radios.Contains(AdminRoleInputs.CmsAdministratorRadioButton).Should().BeTrue();
                result.Radios.Contains(AdminRoleInputs.CmsManagerRadioButton).Should().BeTrue();
                result.Radios.Contains(AdminRoleInputs.NoCmsPermissionsRadioButton).Should().BeTrue();
                result.NotAllRolesDisplayed.Should().BeFalse();
                result.NoContentManagerOptionsAvailable.Should().BeFalse();
            }
        }
Esempio n. 5
0
        public void EditRolesViewModel_sets_expected_properties()
        {
            // Given
            var adminUser = UserTestHelper.GetDefaultAdminUser(
                firstName: "Test",
                lastName: "Name",
                isCentreAdmin: true,
                isSupervisor: true,
                isTrainer: true,
                isContentCreator: true,
                isContentManager: true,
                importOnly: true,
                categoryId: 0
                );
            var numberOfAdmins = CentreContractAdminUsageTestHelper.GetDefaultNumberOfAdministrators();

            // When
            var result = new EditRolesViewModel(adminUser, 1, categories, numberOfAdmins);

            // Then
            using (new AssertionScope())
            {
                result.FullName.Should().Be("Test Name");
                result.IsCentreAdmin.Should().BeTrue();
                result.IsSupervisor.Should().BeTrue();
                result.IsTrainer.Should().BeTrue();
                result.IsContentCreator.Should().BeTrue();
                result.CentreId.Should().Be(1);
                result.LearningCategory.Should().Be(0);
                result.LearningCategories.Count().Should().Be(2);
                result.ContentManagementRole.Should().BeEquivalentTo(ContentManagementRole.CmsAdministrator);
            }
        }
Esempio n. 6
0
 private CentreContractAdminUsage GetFullCentreContractAdminUsage()
 {
     return(CentreContractAdminUsageTestHelper.GetDefaultNumberOfAdministrators(
                trainerSpots: 3,
                trainers: 3,
                ccLicenceSpots: 4,
                ccLicences: 4,
                cmsAdministrators: 5,
                cmsAdministratorSpots: 5,
                cmsManagerSpots: 6,
                cmsManagers: 6
                ));
 }
Esempio n. 7
0
        public void Limits_not_reached_when_no_limits_set()
        {
            // When
            var numberOfAdmins = CentreContractAdminUsageTestHelper.GetDefaultNumberOfAdministrators();

            // Then
            using (new AssertionScope())
            {
                numberOfAdmins.CcLicencesAtOrOverLimit.Should().BeFalse();
                numberOfAdmins.TrainersAtOrOverLimit.Should().BeFalse();
                numberOfAdmins.CmsAdministratorsAtOrOverLimit.Should().BeFalse();
                numberOfAdmins.CmsManagersAtOrOverLimit.Should().BeFalse();
            }
        }
Esempio n. 8
0
        public void EditRolesViewModel_sets_ContentManagementRole_none()
        {
            // Given
            var adminUser = UserTestHelper.GetDefaultAdminUser(
                isContentManager: false,
                importOnly: false
                );
            var numberOfAdmins = CentreContractAdminUsageTestHelper.GetDefaultNumberOfAdministrators();

            // When
            var result = new EditRolesViewModel(adminUser, 1, categories, numberOfAdmins);

            // Then
            result.ContentManagementRole.Should().BeEquivalentTo(ContentManagementRole.NoContentManagementRole);
        }
Esempio n. 9
0
        EditRolesViewModel_does_set_up_Content_creator_checkbox_when_its_limit_is_reached_and_user_is_a_content_creator()
        {
            // Given
            var adminUser      = UserTestHelper.GetDefaultAdminUser(isContentCreator: true);
            var numberOfAdmins =
                CentreContractAdminUsageTestHelper.GetDefaultNumberOfAdministrators(ccLicences: 5, ccLicenceSpots: 5);

            // When
            var result = new EditRolesViewModel(adminUser, 1, categories, numberOfAdmins);

            // Then
            using (new AssertionScope())
            {
                result.Checkboxes.Count.Should().Be(4);
                result.Checkboxes.Contains(AdminRoleInputs.ContentCreatorCheckbox).Should().BeTrue();
                result.NotAllRolesDisplayed.Should().BeFalse();
            }
        }
Esempio n. 10
0
        EditRolesViewModel_does_not_set_up_Trainer_checkbox_when_its_limit_is_reached_and_user_not_a_trainer()
        {
            // Given
            var adminUser      = UserTestHelper.GetDefaultAdminUser(isTrainer: false);
            var numberOfAdmins =
                CentreContractAdminUsageTestHelper.GetDefaultNumberOfAdministrators(trainers: 5, trainerSpots: 5);

            // When
            var result = new EditRolesViewModel(adminUser, 1, categories, numberOfAdmins);

            // Then
            using (new AssertionScope())
            {
                result.Checkboxes.Count.Should().Be(3);
                result.Checkboxes.Contains(AdminRoleInputs.TrainerCheckbox).Should().BeFalse();
                result.NotAllRolesDisplayed.Should().BeTrue();
            }
        }
Esempio n. 11
0
        public void UpdateAdminUserPermissions_edits_roles_when_spaces_available()
        {
            // Given
            var currentAdminUser = UserTestHelper.GetDefaultAdminUser(
                isContentCreator: false,
                isTrainer: false,
                importOnly: false,
                isContentManager: false
                );
            var numberOfAdmins = CentreContractAdminUsageTestHelper.GetDefaultNumberOfAdministrators();

            GivenAdminDataReturned(numberOfAdmins, currentAdminUser);
            var adminRoles = new AdminRoles(true, true, true, true, true, true);

            // When
            userService.UpdateAdminUserPermissions(currentAdminUser.Id, adminRoles, 0);

            // Then
            AssertAdminPermissionsCalledCorrectly(currentAdminUser.Id, adminRoles, 0);
        }
Esempio n. 12
0
        public void Limits_reached_when_numbers_exactly_match_total_spots()
        {
            // When
            var numberOfAdmins = CentreContractAdminUsageTestHelper.GetDefaultNumberOfAdministrators(
                trainerSpots: 2,
                trainers: 2,
                cmsAdministratorSpots: 3,
                cmsAdministrators: 3,
                cmsManagerSpots: 4,
                cmsManagers: 4,
                ccLicenceSpots: 5,
                ccLicences: 5
                );

            // Then
            using (new AssertionScope())
            {
                numberOfAdmins.CcLicencesAtOrOverLimit.Should().BeTrue();
                numberOfAdmins.TrainersAtOrOverLimit.Should().BeTrue();
                numberOfAdmins.CmsAdministratorsAtOrOverLimit.Should().BeTrue();
                numberOfAdmins.CmsManagersAtOrOverLimit.Should().BeTrue();
            }
        }
        public void No_limit_should_be_displayed_when_centre_has_no_limit_on_spots_available()
        {
            // Given
            var numberOfAdmins = CentreContractAdminUsageTestHelper.GetDefaultNumberOfAdministrators(
                trainers: 1,
                trainerSpots: -1,
                cmsAdministrators: 3,
                cmsAdministratorSpots: -1,
                cmsManagers: 2,
                cmsManagerSpots: -1,
                ccLicences: 2,
                ccLicenceSpots: -1
                );

            // When
            var viewModel = new NumberOfAdministratorsViewModel(numberOfAdmins);

            // Then
            viewModel.CmsAdministrators.Should().Be("3");
            viewModel.CmsManagers.Should().Be("2");
            viewModel.CcLicences.Should().Be("2");
            viewModel.Trainers.Should().Be("1");
        }