public void AdminUsers_and_Centre_populate_expected_values_with_no_limit()
        {
            // Given
            var centre = CentreTestHelper.GetDefaultCentre(
                cmsAdministratorSpots: -1,
                cmsManagerSpots: -1,
                ccLicenceSpots: -1,
                trainerSpots: -1,
                customCourses: 12,
                serverSpaceUsed: 0,
                serverSpaceBytes: 0
                );
            var adminUsersAtCentre = GetAdminUsersForTest();

            // When
            var viewModel = new ContractDetailsViewModel(adminUsersAtCentre, centre, 10);

            // Then
            viewModel.Administrators.Should().Be("7");
            viewModel.Supervisors.Should().Be("6");
            viewModel.CmsAdministrators.Should().Be("3");
            viewModel.CmsAdministratorsColour.Should().Be("blue");
            viewModel.CmsManagers.Should().Be("2");
            viewModel.CmsManagersColour.Should().Be("blue");
            viewModel.ContentCreators.Should().Be("2");
            viewModel.ContentCreatorsColour.Should().Be("blue");
            viewModel.Trainers.Should().Be("1");
            viewModel.TrainersColour.Should().Be("blue");
            viewModel.CustomCourses.Should().Be("10 / 12");
            viewModel.CustomCoursesColour.Should().Be("yellow");
            viewModel.ServerSpace.Should().Be("0B / 0B");
            viewModel.ServerSpaceColour.Should().Be("grey");
        }
        public void CentreConfigurationViewModel_populates_expected_values_from_Centre()
        {
            // When
            var centre =
                CentreTestHelper.GetDefaultCentre
                (
                    centreLogo: Convert.FromBase64String(CentreLogoTestHelper.DefaultCentreLogoAsBase64String)
                );
            var viewModel = new CentreConfigurationViewModel(centre);

            // Then
            using (new AssertionScope())
            {
                viewModel.CentreId.Should().Be(centre.CentreId);
                viewModel.CentreName.Should().BeEquivalentTo(centre.CentreName);
                viewModel.RegionName.Should().BeEquivalentTo(centre.RegionName);
                viewModel.NotifyEmail.Should().BeEquivalentTo(centre.NotifyEmail);
                viewModel.BannerText.Should().BeEquivalentTo(centre.BannerText);
                viewModel.SignatureImage.Should().BeEquivalentTo(centre.SignatureImage);
                viewModel.CentreLogo.Should().BeEquivalentTo(centre.CentreLogo);
                viewModel.ContactForename.Should().BeEquivalentTo(centre.ContactForename);
                viewModel.ContactSurname.Should().BeEquivalentTo(centre.ContactSurname);
                viewModel.ContactEmail.Should().BeEquivalentTo(centre.ContactEmail);
                viewModel.ContactTelephone.Should().BeEquivalentTo(centre.ContactTelephone);
                viewModel.CentreTelephone.Should().BeEquivalentTo(centre.CentreTelephone);
                viewModel.CentreEmail.Should().BeEquivalentTo(centre.CentreEmail);
                viewModel.CentrePostcode.Should().BeEquivalentTo(centre.CentrePostcode);
                viewModel.ShowCentreOnMap.Should().BeTrue();
                viewModel.OpeningHours.Should().BeEquivalentTo(centre.OpeningHours);
                viewModel.CentreWebAddress.Should().BeEquivalentTo(centre.CentreWebAddress);
                viewModel.OrganisationsCovered.Should().BeEquivalentTo(centre.OrganisationsCovered);
                viewModel.TrainingVenues.Should().BeEquivalentTo(centre.TrainingVenues);
                viewModel.OtherInformation.Should().BeEquivalentTo(centre.OtherInformation);
            }
        }
Beispiel #3
0
        public void Numbers_are_retrieved_correctly()
        {
            // Given
            var adminUsers = GetAdminUsersForTest();
            var centre     = CentreTestHelper.GetDefaultCentre(
                cmsAdministratorSpots: 11,
                cmsManagerSpots: 12,
                ccLicenceSpots: 10,
                trainerSpots: 5
                );

            // When
            var result = new CentreContractAdminUsage(centre, adminUsers);

            // Then
            using (new AssertionScope())
            {
                result.AdminCount.Should().Be(7);
                result.SupervisorCount.Should().Be(6);
                result.TrainerCount.Should().Be(1);
                result.CcLicenceCount.Should().Be(2);
                result.CmsAdministratorCount.Should().Be(3);
                result.CmsManagerCount.Should().Be(2);
                result.TrainerSpots.Should().Be(5);
                result.CcLicenceSpots.Should().Be(10);
                result.CmsAdministratorSpots.Should().Be(11);
                result.CmsManagerSpots.Should().Be(12);
            }
        }
        private void GivenServicesReturnProvidedValues(
            AdminUser?adminUser,
            int delegateCount,
            int courseCount,
            int adminCount,
            int centreRank,
            int ticketCountForAdmin,
            int ticketCountForCentre
            )
        {
            A.CallTo(() => centresDataService.GetCentreDetailsById(CentreId))
            .Returns(CentreTestHelper.GetDefaultCentre(CentreId));
            A.CallTo(() => userDataService.GetAdminUserById(AdminId))
            .Returns(adminUser);

            A.CallTo(() => userDataService.GetNumberOfApprovedDelegatesAtCentre(CentreId)).Returns(delegateCount);
            A.CallTo(
                () =>
                courseDataService.GetNumberOfActiveCoursesAtCentreFilteredByCategory(
                    CentreId,
                    adminUser !.CategoryIdFilter
                    )
                ).Returns(courseCount);
            A.CallTo(() => userDataService.GetNumberOfActiveAdminsAtCentre(CentreId)).Returns(adminCount);
            A.CallTo(() => centresService.GetCentreRankForCentre(CentreId)).Returns(centreRank);
            A.CallTo(() => supportTicketDataService.GetNumberOfUnarchivedTicketsForAdminId(AdminId))
            .Returns(ticketCountForAdmin);
            A.CallTo(() => supportTicketDataService.GetNumberOfUnarchivedTicketsForCentreId(CentreId))
            .Returns(ticketCountForCentre);
        }
        public void AdminUsers_and_Centre_populate_expected_values()
        {
            // Given
            var centre = CentreTestHelper.GetDefaultCentre(
                cmsAdministratorSpots: 3,
                cmsManagerSpots: 13,
                ccLicenceSpots: 14,
                trainerSpots: 15,
                customCourses: 12,
                serverSpaceUsed: 1024,
                serverSpaceBytes: 1073741824
                );
            var adminUsersAtCentre = GetAdminUsersForTest();

            // When
            var viewModel = new ContractDetailsViewModel(adminUsersAtCentre, centre, 10);

            // Then
            viewModel.Administrators.Should().Be("7");
            viewModel.Supervisors.Should().Be("6");
            viewModel.CmsAdministrators.Should().Be("3 / 3");
            viewModel.CmsAdministratorsColour.Should().Be("red");
            viewModel.CmsManagers.Should().Be("2 / 13");
            viewModel.CmsManagersColour.Should().Be("green");
            viewModel.ContentCreators.Should().Be("2 / 14");
            viewModel.ContentCreatorsColour.Should().Be("green");
            viewModel.Trainers.Should().Be("1 / 15");
            viewModel.TrainersColour.Should().Be("green");
            viewModel.CustomCourses.Should().Be("10 / 12");
            viewModel.CustomCoursesColour.Should().Be("yellow");
            viewModel.ServerSpace.Should().Be("1KB / 1GB");
            viewModel.ServerSpaceColour.Should().Be("green");
        }
Beispiel #6
0
        public void Index_goes_to_Index_page_when_unacknowledged_notifications_have_been_skipped()
        {
            // Given
            A.CallTo(() => systemNotificationsDataService.GetUnacknowledgedSystemNotifications(A <int> ._))
            .Returns(new List <SystemNotification> {
                SystemNotificationTestHelper.GetDefaultSystemNotification()
            });
            A.CallTo(() => httpRequest.Cookies).Returns(
                ControllerContextHelper.SetUpFakeRequestCookieCollection(SystemNotificationCookieHelper.CookieName, "7")
                );
            A.CallTo(() => dashboardInformationService.GetDashboardInformationForCentre(A <int> ._, A <int> ._)).Returns(
                new CentreDashboardInformation(
                    CentreTestHelper.GetDefaultCentre(),
                    UserTestHelper.GetDefaultAdminUser(),
                    1,
                    1,
                    1,
                    1,
                    1
                    )
                );

            // When
            var result = dashboardController.Index();

            // Then
            result.Should().BeViewResult().WithDefaultViewName();
        }
Beispiel #7
0
        public void GetCentreDetailsById_should_return_the_correct_values()
        {
            // Given
            var expectedCentreDetails = CentreTestHelper.GetDefaultCentre
                                        (
                centreLogo: Convert.FromBase64String(CentreLogoTestHelper.DefaultCentreLogoAsBase64String)
                                        );

            // When
            var result = centresDataService.GetCentreDetailsById(2);

            // Then
            result.Should().BeEquivalentTo(expectedCentreDetails);
        }
        public void GetDashboardInformationForCentre_returns_null_with_null_admin()
        {
            // Given
            A.CallTo(() => centresDataService.GetCentreDetailsById(CentreId))
            .Returns(CentreTestHelper.GetDefaultCentre(CentreId));
            A.CallTo(() => userDataService.GetAdminUserById(AdminId))
            .Returns(null);

            // When
            var result = dashboardInformationService.GetDashboardInformationForCentre(CentreId, AdminId);

            // Then
            result.Should().BeNull();
        }
        public void PreviewCertificate_returns_view_when_service_returns_object()
        {
            // Given
            var certificateInformation = new CertificateInformation(
                CentreTestHelper.GetDefaultCentre(),
                "Test",
                "Name",
                "Course",
                DateTime.UtcNow,
                "Modifier"
                );

            A.CallTo(() => certificateService.GetPreviewCertificateForCentre(A <int> ._)).Returns(certificateInformation);

            // When
            var result = controller.PreviewCertificate();

            // Then
            result.Should().BeViewResult().WithDefaultViewName();
        }
        public void GetDashboardInformationForCentre_returns_expected_model_with_correct_ticket_count(
            bool isCentreManager,
            int expectedTicketCount
            )
        {
            // Given
            const int delegateCount        = 100;
            const int adminCount           = 10;
            const int courseCount          = 50;
            const int ticketCountForAdmin  = 5;
            const int ticketCountForCentre = 10;
            const int centreRank           = 3;
            var       adminUser            = UserTestHelper.GetDefaultAdminUser(AdminId, isCentreManager: isCentreManager);

            GivenServicesReturnProvidedValues(
                adminUser,
                delegateCount,
                courseCount,
                adminCount,
                centreRank,
                ticketCountForAdmin,
                ticketCountForCentre
                );

            // When
            var result = dashboardInformationService.GetDashboardInformationForCentre(CentreId, AdminId);

            // Then
            var expectedModel = new CentreDashboardInformation(
                CentreTestHelper.GetDefaultCentre(CentreId),
                adminUser,
                delegateCount,
                courseCount,
                adminCount,
                expectedTicketCount,
                centreRank
                );

            result.Should().BeEquivalentTo(expectedModel);
        }
Beispiel #11
0
        GetPreviewCertificateForCentre_returns_expected_certificate_information_when_data_service_returns_centre()
        {
            // Given
            var centre = CentreTestHelper.GetDefaultCentre();

            A.CallTo(() => centresDataService.GetCentreDetailsById(centre.CentreId)).Returns(centre);

            // When
            var result = certificateService.GetPreviewCertificateForCentre(centre.CentreId);

            // Then
            var expectedCertificateInformation = new CertificateInformation(
                centre,
                "Joseph",
                "Bloggs",
                "Level 2 - ITSP Course Name",
                new DateTime(2014, 4, 1),
                "Passing online Digital Learning Solutions post learning assessments"
                );

            result.Should().BeEquivalentTo(expectedCertificateInformation);
        }
Beispiel #12
0
        public void Setup()
        {
            centresDataService = A.Fake <ICentresDataService>();
            clockService       = A.Fake <IClockService>();
            centresService     = new CentresService(centresDataService, clockService);

            A.CallTo(() => clockService.UtcNow).Returns(new DateTime(2021, 1, 1));
            A.CallTo(() => centresDataService.GetCentreRanks(A <DateTime> ._, A <int?> ._, 10, A <int> ._)).Returns(
                new[]
            {
                CentreTestHelper.GetCentreRank(1),
                CentreTestHelper.GetCentreRank(2),
                CentreTestHelper.GetCentreRank(3),
                CentreTestHelper.GetCentreRank(4),
                CentreTestHelper.GetCentreRank(5),
                CentreTestHelper.GetCentreRank(6),
                CentreTestHelper.GetCentreRank(7),
                CentreTestHelper.GetCentreRank(8),
                CentreTestHelper.GetCentreRank(9),
                CentreTestHelper.GetCentreRank(10),
            }
                );
        }
        public void DashboardCentreDetailsViewModel_populates_expected_values_from_centre_with_null_centre_rank()
        {
            const string userIp = "1.1.1.1";
            var          centre =
                CentreTestHelper.GetDefaultCentre();
            var viewModel = new DashboardCentreDetailsViewModel(centre, userIp, null);

            // Then
            using (new AssertionScope())
            {
                viewModel.CentreId.Should().Be(centre.CentreId);
                viewModel.CentreName.Should().BeEquivalentTo(centre.CentreName);
                viewModel.Region.Should().BeEquivalentTo(centre.RegionName);
                viewModel.ContractType.Should().BeEquivalentTo(centre.ContractType);
                viewModel.BannerText.Should().BeEquivalentTo(centre.BannerText);
                viewModel.CentreManager.Should().BeEquivalentTo("xxxxx xxxx");
                viewModel.IpAddress.Should().BeEquivalentTo(userIp);
                viewModel.ApprovedIps.Should().BeEquivalentTo(centre.IpPrefix);
                viewModel.Telephone.Should().BeEquivalentTo(centre.ContactTelephone);
                viewModel.Email.Should().BeEquivalentTo(centre.ContactEmail);
                viewModel.CentreRank.Should().Be("No activity");
            }
        }
Beispiel #14
0
        public void Index_goes_to_Index_page_when_no_unacknowledged_notifications_exist()
        {
            // Given
            A.CallTo(() => systemNotificationsDataService.GetUnacknowledgedSystemNotifications(A <int> ._))
            .Returns(new List <SystemNotification>());
            A.CallTo(() => dashboardInformationService.GetDashboardInformationForCentre(A <int> ._, A <int> ._)).Returns(
                new CentreDashboardInformation(
                    CentreTestHelper.GetDefaultCentre(),
                    UserTestHelper.GetDefaultAdminUser(),
                    1,
                    1,
                    1,
                    1,
                    1
                    )
                );

            // When
            var result = dashboardController.Index();

            // Then
            result.Should().BeViewResult().WithDefaultViewName();
        }
Beispiel #15
0
        public void Setup()
        {
            A.CallTo(() => userDataService.GetAdminUserById(A <int> ._)).Returns(UserTestHelper.GetDefaultAdminUser());
            A.CallTo(() => centresDataService.GetCentreDetailsById(A <int> ._))
            .Returns(CentreTestHelper.GetDefaultCentre());
            A.CallTo(() => userDataService.GetNumberOfApprovedDelegatesAtCentre(A <int> ._)).Returns(1);
            A.CallTo(() => courseDataService.GetNumberOfActiveCoursesAtCentreFilteredByCategory(A <int> ._, A <int> ._))
            .Returns(1);
            A.CallTo(() => userDataService.GetNumberOfActiveAdminsAtCentre(A <int> ._)).Returns(1);
            A.CallTo(() => ticketDataService.GetNumberOfUnarchivedTicketsForCentreId(A <int> ._)).Returns(1);
            A.CallTo(() => centresService.GetCentreRankForCentre(A <int> ._)).Returns(1);

            dashboardController = new DashboardController(
                userDataService,
                centresDataService,
                courseDataService,
                ticketDataService,
                centresService,
                systemNotificationsDataService
                ).WithMockHttpContext(httpRequest, response: httpResponse)
                                  .WithMockUser(true)
                                  .WithMockServices()
                                  .WithMockTempData();
        }