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(); } }
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"); }
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(); } }
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); } }
private CentreContractAdminUsage GetFullCentreContractAdminUsage() { return(CentreContractAdminUsageTestHelper.GetDefaultNumberOfAdministrators( trainerSpots: 3, trainers: 3, ccLicenceSpots: 4, ccLicences: 4, cmsAdministrators: 5, cmsAdministratorSpots: 5, cmsManagerSpots: 6, cmsManagers: 6 )); }
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(); } }
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); }
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(); } }
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(); } }
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); }
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"); }