Ejemplo n.º 1
0
        private DashboardOrchestrator GetSut(List <VacancySummary> vacancies)
        {
            var timeProviderMock = new Mock <ITimeProvider>();

            timeProviderMock.Setup(t => t.Today).Returns(_today);

            var dashboardProjection = new ProviderDashboard
            {
                Vacancies = vacancies
            };

            var vacancyClientMock = new Mock <IProviderVacancyClient>();

            vacancyClientMock.Setup(c => c.GetDashboardAsync(Ukprn, true))
            .ReturnsAsync(dashboardProjection);

            var userDetails = new User();

            var clientMock = new Mock <IRecruitVacancyClient>();

            clientMock.Setup(c => c.GetUsersDetailsAsync(UserId))
            .ReturnsAsync(userDetails);

            var alertsViewModel   = new AlertsViewModel(null, null);
            var alertsFactoryMock = new Mock <IProviderAlertsViewModelFactory>();

            alertsFactoryMock.Setup(a => a.Create(dashboardProjection, userDetails))
            .Returns(alertsViewModel);

            var orch = new DashboardOrchestrator(vacancyClientMock.Object, timeProviderMock.Object, clientMock.Object, alertsFactoryMock.Object);

            return(orch);
        }
Ejemplo n.º 2
0
 public static DashboardViewModel MapFromProviderDashboard(ProviderDashboard dashboard)
 {
     return(new DashboardViewModel
     {
         Vacancies = dashboard?.Vacancies
                     .OrderByDescending(v => v.CreatedDate)
                     .ToList() ?? new List <VacancySummary>()
     });
 }
Ejemplo n.º 3
0
        private VacanciesSearchSuggestionsOrchestrator GetSut(IEnumerable <VacancySummary> vacancies)
        {
            var dashboard = new ProviderDashboard()
            {
                Vacancies = vacancies
            };

            _mockClient.Setup(c => c.GetDashboardAsync(It.IsAny <long>(), false)).ReturnsAsync(dashboard);
            return(new VacanciesSearchSuggestionsOrchestrator(_mockClient.Object));
        }
Ejemplo n.º 4
0
        public Task UpdateProviderDashboardAsync(long ukprn, IEnumerable <VacancySummary> vacancySummaries)
        {
            var dashboardItem = new ProviderDashboard
            {
                Id          = QueryViewType.ProviderDashboard.GetIdValue(ukprn),
                Vacancies   = vacancySummaries,
                LastUpdated = _timeProvider.Now
            };

            return(_queryStore.UpsertAsync(dashboardItem));
        }
        public async Task <ProviderDashboard> GetDashboardAsync(long ukprn, bool createIfNonExistent = false)
        {
            ProviderDashboard result = await _reader.GetProviderDashboardAsync(ukprn);

            if (result == null && createIfNonExistent)
            {
                await GenerateDashboard(ukprn);

                result = await _reader.GetProviderDashboardAsync(ukprn);
            }
            return(result);
        }
Ejemplo n.º 6
0
        public AlertsViewModel Create(ProviderDashboard providerDashboard, User user)
        {
            if (user == null)
            {
                throw new ArgumentNullException(nameof(user));
            }

            var transferredVacanciesAlert = _alertViewModelService.GetProviderTransferredVacanciesAlert(
                providerDashboard?.TransferredVacancies ?? Array.Empty <ProviderDashboardTransferredVacancy>(),
                user.TransferredVacanciesEmployerRevokedPermissionAlertDismissedOn);
            var withdrawnByQaVacanciesAlert = _alertViewModelService.GetWithdrawnByQaVacanciesAlert(
                providerDashboard?.Vacancies ?? Array.Empty <VacancySummary>(),
                user.ClosedVacanciesWithdrawnByQaAlertDismissedOn);

            return(new AlertsViewModel(transferredVacanciesAlert, withdrawnByQaVacanciesAlert));
        }
Ejemplo n.º 7
0
        private DashboardOrchestrator GetSut(List <VacancySummary> vacancies)
        {
            var timeProviderMock = new Mock <ITimeProvider>();

            timeProviderMock.Setup(t => t.Today).Returns(_today);

            var dashboardProjection = new ProviderDashboard
            {
                Vacancies = vacancies
            };

            var vacancyClientMock = new Mock <IProviderVacancyClient>();

            vacancyClientMock.Setup(c => c.GetDashboardAsync(Ukprn, true))
            .ReturnsAsync(dashboardProjection);

            var permissionServiceMock = new Mock <IProviderRelationshipsService>();

            permissionServiceMock.Setup(p => p.GetLegalEntitiesForProviderAsync(Ukprn, OperationType.RecruitmentRequiresReview))
            .ReturnsAsync(new List <EmployerInfo>());

            var userDetails = new User();

            var clientMock = new Mock <IRecruitVacancyClient>();

            clientMock.Setup(c => c.GetUsersDetailsAsync(UserId))
            .ReturnsAsync(userDetails);

            var alertsViewModel   = new AlertsViewModel(null, null);
            var alertsFactoryMock = new Mock <IProviderAlertsViewModelFactory>();

            alertsFactoryMock.Setup(a => a.Create(dashboardProjection, userDetails))
            .Returns(alertsViewModel);

            var orch = new DashboardOrchestrator(vacancyClientMock.Object, timeProviderMock.Object, clientMock.Object, alertsFactoryMock.Object, permissionServiceMock.Object);

            return(orch);
        }