public async Task And_Application_Exists_Stitches_Up_Standard_To_Result(
            GetApplicationQuery getApplicationQuery,
            GetApplicationResponse getApplicationResponse,
            GetStandardsListItem getStandardsListItem,
            GetCohortsResponse getCohortsResponse,
            [Frozen] Mock <ICoursesApiClient <CoursesApiConfiguration> > mockCoursesApiClient,
            [Frozen] Mock <ILevyTransferMatchingService> mockLevyTransferMatchingService,
            [Frozen] Mock <ICommitmentsV2ApiClient <CommitmentsV2ApiConfiguration> > mockCommitmentsV2ApiClient,
            GetApplicationQueryHandler getApplicationQueryHandler)
        {
            mockLevyTransferMatchingService
            .Setup(x => x.GetApplication(It.Is <GetApplicationRequest>(y => y.GetUrl.Contains(getApplicationQuery.ApplicationId.ToString()))))
            .ReturnsAsync(getApplicationResponse);

            mockCoursesApiClient
            .Setup(x => x.Get <GetStandardsListItem>(It.Is <GetStandardDetailsByIdRequest>(y => y.GetUrl.Contains(getApplicationResponse.StandardId))))
            .ReturnsAsync(getStandardsListItem);

            mockCommitmentsV2ApiClient
            .Setup(x => x.Get <GetCohortsResponse>(It.Is <GetCohortsRequest>(y => y.GetUrl.Contains(getApplicationQuery.AccountId.ToString()))))
            .ReturnsAsync(getCohortsResponse);

            var result = await getApplicationQueryHandler.Handle(getApplicationQuery, CancellationToken.None);

            Assert.IsNotNull(result);
            Assert.AreEqual(getApplicationResponse.Status, result.Status);
        }
Exemplo n.º 2
0
        public async Task Then_The_Apprenticeship_Course_Is_Returned(
            GetApplicationQuery query,
            IncentiveApplicationDto applicationResponse,
            GetApprenticeshipResponse apprenticeshipResponse,
            [Frozen] Mock <ICommitmentsApiClient <CommitmentsConfiguration> > commitmentsClient,
            [Frozen] Mock <IApplicationService> applicationService,
            GetApplicationHandler handler
            )
        {
            apprenticeshipResponse.Id = applicationResponse.Apprenticeships.First().ApprenticeshipId;

            commitmentsClient
            .Setup(client => client.Get <GetApprenticeshipResponse>(It.IsAny <GetApprenticeshipRequest>()))
            .ReturnsAsync(new GetApprenticeshipResponse());
            commitmentsClient
            .Setup(client => client.Get <GetApprenticeshipResponse>(
                       It.Is <GetApprenticeshipRequest>(c =>
                                                        c.GetUrl.EndsWith($"/{applicationResponse.Apprenticeships.First().ApprenticeshipId}"))))
            .ReturnsAsync(apprenticeshipResponse);

            applicationService
            .Setup(x => x.Get(query.AccountId, query.ApplicationId))
            .ReturnsAsync(applicationResponse);

            var actual = await handler.Handle(query, CancellationToken.None);

            actual.Application.Apprenticeships.First().CourseName.Should().Be(apprenticeshipResponse.CourseName);
        }
Exemplo n.º 3
0
        public async Task <OrganizationApplicationKey> Execute(CreateApplicationKey command,
                                                               CancellationToken cancellationToken = new CancellationToken())
        {
            GetApplication query = new GetApplicationQuery(command.UserId, command.ApplicationId);

            UserOrganizationApplication application = await _getApplication.Execute(query, cancellationToken);

            CloudTable appKeyTable = _tableProvider.GetTable(_settings.OrganizationApplicationKeyTableName);

            string key = GenerateKey();

            var appKeyEntity = new OrganizationApplicationKeyEntity(key, application.OrganizationId, application.OrganizationName, command.ApplicationId,
                                                                    application.ApplicationName, command.Timestamp);

            await appKeyTable.ExecuteAsync(TableOperation.Insert(appKeyEntity), cancellationToken);

            var indexEntity = new KeyOrganizationApplicationIndexEntity(key, application.OrganizationId, application.OrganizationName,
                                                                        application.ApplicationId, application.ApplicationName, command.Timestamp);

            CloudTable indexTable = _tableProvider.GetTable(_settings.KeyOrganizationApplicationIndexTableName);

            await indexTable.ExecuteAsync(TableOperation.Insert(indexEntity), cancellationToken);

            return(appKeyEntity);
        }
        public async Task And_Application_Doesnt_Exist_Returns_Null(
            GetApplicationQuery getApplicationQuery,
            [Frozen] Mock <ILevyTransferMatchingService> mockLevyTransferMatchingService,
            GetApplicationQueryHandler getApplicationQueryHandler)
        {
            mockLevyTransferMatchingService
            .Setup(x => x.GetApplication(It.Is <GetApplicationRequest>(y => y.GetUrl.Contains(getApplicationQuery.ApplicationId.ToString()))))
            .ReturnsAsync((GetApplicationResponse)null);

            var result = await getApplicationQueryHandler.Handle(getApplicationQuery, CancellationToken.None);

            Assert.IsNull(result);
        }
        public async Task And_Application_Exists_And_No_Specific_Locations_Returned_Stitches_Up_Standard_And_Location_To_Result(
            GetApplicationQuery getApplicationQuery,
            GetApplicationResponse getApplicationResponse,
            [Frozen] Mock <ILevyTransferMatchingService> mockLevyTransferMatchingService,
            GetApplicationQueryHandler getApplicationQueryHandler)
        {
            mockLevyTransferMatchingService
            .Setup(x => x.GetApplication(It.Is <GetApplicationRequest>(y => y.GetUrl.Contains(getApplicationQuery.PledgeId.ToString()) && y.GetUrl.Contains(getApplicationQuery.ApplicationId.ToString()))))
            .ReturnsAsync(getApplicationResponse);

            var result = await getApplicationQueryHandler.Handle(getApplicationQuery, CancellationToken.None);

            Assert.IsNotNull(result);
            Assert.AreEqual(getApplicationResponse.Details, result.AboutOpportunity);
        }
Exemplo n.º 6
0
        public async Task Then_The_Application_Is_Returned(
            GetApplicationQuery query,
            IncentiveApplicationDto applicationResponse,
            [Frozen] Mock <ICommitmentsApiClient <CommitmentsConfiguration> > commitmentsClient,
            [Frozen] Mock <IApplicationService> applicationService,
            GetApplicationHandler handler
            )
        {
            commitmentsClient.Setup(client => client.Get <GetApprenticeshipResponse>(It.IsAny <GetApprenticeshipRequest>()))
            .ReturnsAsync(new GetApprenticeshipResponse());

            applicationService.Setup(x => x.Get(query.AccountId, query.ApplicationId)).ReturnsAsync(applicationResponse);

            var actual = await handler.Handle(query, CancellationToken.None);

            actual.Application.Should().BeEquivalentTo(applicationResponse, opts => opts.ExcludingMissingMembers());
        }
Exemplo n.º 7
0
        public async Task Then_The_Apprenticeships_Are_Not_Returned_If_Opted_Out(
            GetApplicationQuery query,
            IncentiveApplicationDto applicationResponse,
            GetApprenticeshipResponse apprenticeshipResponse,
            [Frozen] Mock <ICommitmentsApiClient <CommitmentsConfiguration> > commitmentsClient,
            [Frozen] Mock <IApplicationService> applicationService,
            GetApplicationHandler handler
            )
        {
            query.IncludeApprenticeships = false;

            applicationService.Setup(x => x.Get(query.AccountId, query.ApplicationId)).ReturnsAsync(applicationResponse);

            var actual = await handler.Handle(query, CancellationToken.None);

            actual.Application.Apprenticeships.Count().Should().Be(0);
            commitmentsClient.Verify(client => client.Get <GetApprenticeshipResponse>(It.IsAny <GetApprenticeshipRequest>()), Times.Never);
        }
Exemplo n.º 8
0
        public async Task<ActionResult> Details(string id, CancellationToken cancellationToken)
        {
            var query = new GetApplicationQuery(User.Identity.GetUserId(), id);

            UserOrganizationApplication application = await _getApplication.Execute(query, cancellationToken);

            IEnumerable<OrganizationApplicationKey> applicationKeys = await _listApplicationKeys.Execute(query, cancellationToken);

            IEnumerable<ICodeFeatureState> codeFeatures =
                await _listApplicationCodeFeatures.Execute(new ListApplicationCodeFeatures(User.Identity.GetUserId(), id),
                    cancellationToken);

            return View(new ApplicationViewModel
            {
                Id = application.ApplicationId,
                Name = application.ApplicationName,
                OrganizationId = application.OrganizationId,
                Keys = applicationKeys.Select(x => x.Key).ToList(),
                Features = codeFeatures.ToList(),
            });
        }
Exemplo n.º 9
0
        public async Task <ActionResult> Details(string id, CancellationToken cancellationToken)
        {
            var query = new GetApplicationQuery(User.Identity.GetUserId(), id);

            UserOrganizationApplication application = await _getApplication.Execute(query, cancellationToken);

            IEnumerable <OrganizationApplicationKey> applicationKeys = await _listApplicationKeys.Execute(query, cancellationToken);

            IEnumerable <ICodeFeatureState> codeFeatures =
                await _listApplicationCodeFeatures.Execute(new ListApplicationCodeFeatures(User.Identity.GetUserId(), id),
                                                           cancellationToken);

            return(View(new ApplicationViewModel
            {
                Id = application.ApplicationId,
                Name = application.ApplicationName,
                OrganizationId = application.OrganizationId,
                Keys = applicationKeys.Select(x => x.Key).ToList(),
                Features = codeFeatures.ToList(),
            }));
        }
        public async Task ShouldReturn()
        {
            var search = new JobSearch()
            {
                Title = "Test search"
            };

            await AddAsync(search);

            var app = new JobApplication(search, "Microsoft", "Junior Developer");

            await AddAsync(app);

            var query = new GetApplicationQuery {
                Id = app.Id
            };

            var result = await SendAsync(query);

            result.ShouldNotBeNull();
            result.OrganizationName.ShouldBe("Microsoft");
            result.JobTitle.ShouldBe("Junior Developer");
        }