Exemplo n.º 1
0
        public async Task Arrange()
        {
            var autoFixture = new Fixture();

            _source = autoFixture.Create <GetChangeOfPartyRequestsQueryResult>();
            _result = await _mapper.Map(TestHelper.Clone(_source));
        }
Exemplo n.º 2
0
            public DetailsViewModelMapperFixture WithChangeOfPartyRequest(ChangeOfPartyRequestType requestType, ChangeOfPartyRequestStatus status, Party?withParty = null)
            {
                var newApprenticeshipId = Fixture.Create <long>();

                GetChangeOfPartyRequestsResponse = new GetChangeOfPartyRequestsResponse
                {
                    ChangeOfPartyRequests = new List <GetChangeOfPartyRequestsResponse.ChangeOfPartyRequest>
                    {
                        new GetChangeOfPartyRequestsResponse.ChangeOfPartyRequest
                        {
                            Id = 1,
                            ChangeOfPartyType   = requestType,
                            OriginatingParty    = requestType == ChangeOfPartyRequestType.ChangeEmployer ? Party.Provider : Party.Employer,
                            Status              = status,
                            WithParty           = withParty,
                            NewApprenticeshipId = newApprenticeshipId
                        }
                    }
                };

                _encodingService.Setup(x => x.Encode(It.Is <long>(id => id == newApprenticeshipId), EncodingType.ApprenticeshipId))
                .Returns(EncodedNewApprenticeshipId);

                return(this);
            }
Exemplo n.º 3
0
            public DetailsViewModelMapperFixture()
            {
                Fixture                = new Fixture();
                Source                 = Fixture.Create <DetailsRequest>();
                ApiResponse            = Fixture.Create <GetApprenticeshipResponse>();
                ApiResponse.ProviderId = Source.ProviderId;
                CohortReference        = Fixture.Create <string>();
                AgreementId            = Fixture.Create <string>();
                URL = Fixture.Create <string>();
                PriceEpisodesApiResponse = new GetPriceEpisodesResponse
                {
                    PriceEpisodes = new List <GetPriceEpisodesResponse.PriceEpisode>
                    {
                        new GetPriceEpisodesResponse.PriceEpisode {
                            Cost = 100, FromDate = DateTime.UtcNow
                        }
                    }
                };

                GetApprenticeshipUpdatesResponse = new GetApprenticeshipUpdatesResponse
                {
                    ApprenticeshipUpdates = new List <GetApprenticeshipUpdatesResponse.ApprenticeshipUpdate>()
                };

                GetDataLocksResponse = new GetDataLocksResponse
                {
                    DataLocks = new List <DataLock>()
                };

                GetChangeOfPartyRequestsResponse = new GetChangeOfPartyRequestsResponse
                {
                    ChangeOfPartyRequests = new List <GetChangeOfPartyRequestsResponse.ChangeOfPartyRequest>()
                };

                GetChangeOfEmployerChainResponse = new GetChangeOfEmployerChainResponse
                {
                    ChangeOfEmployerChain = new List <GetChangeOfEmployerChainResponse.ChangeOfEmployerLink>()
                };

                GetNewerTrainingProgrammeVersionsResponse = new GetNewerTrainingProgrammeVersionsResponse()
                {
                    NewerVersions = new List <TrainingProgramme>()
                };

                GetTrainingProgrammeByStandardUIdResponse = new GetTrainingProgrammeResponse();

                _encodingService = new Mock <IEncodingService>();
                _encodingService.Setup(x => x.Encode(It.IsAny <long>(), EncodingType.CohortReference)).Returns(CohortReference);
                _encodingService.Setup(x => x.Encode(It.IsAny <long>(), EncodingType.PublicAccountLegalEntityId)).Returns(AgreementId);

                _authorizationService = new Mock <IAuthorizationService>();

                EncodedNewApprenticeshipId      = Fixture.Create <string>();
                EncodedPreviousApprenticeshipId = Fixture.Create <string>();
            }
Exemplo n.º 4
0
            public DetailsViewModelMapperFixture()
            {
                Fixture                = new Fixture();
                Source                 = Fixture.Create <DetailsRequest>();
                ApiResponse            = Fixture.Create <GetApprenticeshipResponse>();
                ApiResponse.ProviderId = Source.ProviderId;
                CohortReference        = Fixture.Create <string>();
                AgreementId            = Fixture.Create <string>();
                URL = Fixture.Create <string>();
                PriceEpisodesApiResponse = new GetPriceEpisodesResponse
                {
                    PriceEpisodes = new List <GetPriceEpisodesResponse.PriceEpisode>
                    {
                        new GetPriceEpisodesResponse.PriceEpisode {
                            Cost = 100, FromDate = DateTime.UtcNow
                        }
                    }
                };

                GetApprenticeshipUpdatesResponse = new GetApprenticeshipUpdatesResponse
                {
                    ApprenticeshipUpdates = new List <GetApprenticeshipUpdatesResponse.ApprenticeshipUpdate>()
                };

                GetDataLocksResponse = new GetDataLocksResponse
                {
                    DataLocks = new List <GetDataLocksResponse.DataLock>()
                };

                GetChangeOfPartyRequestsResponse = new GetChangeOfPartyRequestsResponse
                {
                    ChangeOfPartyRequests = new List <GetChangeOfPartyRequestsResponse.ChangeOfPartyRequest>()
                };

                _encodingService = new Mock <IEncodingService>();
                _encodingService.Setup(x => x.Encode(It.IsAny <long>(), EncodingType.CohortReference)).Returns(CohortReference);
                _encodingService.Setup(x => x.Encode(It.IsAny <long>(), EncodingType.PublicAccountLegalEntityId)).Returns(AgreementId);

                EncodedNewApprenticeshipId      = Fixture.Create <string>();
                EncodedPreviousApprenticeshipId = Fixture.Create <string>();

                _featureToggleService = new Mock <IFeatureTogglesService <ProviderFeatureToggle> >();
                _featureToggleService
                .Setup(x => x.GetFeatureToggle(It.IsAny <string>()))
                .Returns(new ProviderFeatureToggle()
                {
                    Feature   = nameof(ProviderFeature.ChangeOfEmployer),
                    IsEnabled = false,
                    Whitelist = null
                });
            }
        public void SetUp()
        {
            //Arrange
            var autoFixture = new Fixture();

            _request = autoFixture.Build <ApprenticeshipDetailsRequest>()
                       .With(x => x.AccountHashedId, "123")
                       .With(x => x.ApprenticeshipHashedId, "456")
                       .Create();
            _apprenticeshipResponse = autoFixture.Build <GetApprenticeshipResponse>()
                                      .With(x => x.CourseCode, "ABC")
                                      .With(x => x.DateOfBirth, autoFixture.Create <DateTime>())
                                      .Create();
            _priceEpisodesResponse = autoFixture.Build <GetPriceEpisodesResponse>()
                                     .With(x => x.PriceEpisodes, new List <PriceEpisode> {
                new PriceEpisode {
                    Cost = 1000, ToDate = DateTime.Now.AddMonths(-1)
                }
            })
                                     .Create();
            _apprenticeshipUpdatesResponse = autoFixture.Build <GetApprenticeshipUpdatesResponse>()
                                             .With(x => x.ApprenticeshipUpdates, new List <ApprenticeshipUpdate> {
                new ApprenticeshipUpdate {
                    OriginatingParty = Party.Employer
                }
            })
                                             .Create();
            _dataLocksResponse             = autoFixture.Build <GetDataLocksResponse>().Create();
            _changeOfPartyRequestsResponse = autoFixture.Build <GetChangeOfPartyRequestsResponse>().Create();
            _trainingProgrammeResponse     = autoFixture.Build <GetTrainingProgrammeResponse>().Create();

            _mockCommitmentsApiClient = new Mock <ICommitmentsApiClient>();
            _mockCommitmentsApiClient.Setup(r => r.GetApprenticeship(It.IsAny <long>(), CancellationToken.None))
            .ReturnsAsync(_apprenticeshipResponse);
            _mockCommitmentsApiClient.Setup(c => c.GetPriceEpisodes(It.IsAny <long>(), CancellationToken.None))
            .ReturnsAsync(_priceEpisodesResponse);
            _mockCommitmentsApiClient.Setup(c => c.GetApprenticeshipUpdates(It.IsAny <long>(), It.IsAny <GetApprenticeshipUpdatesRequest>(), CancellationToken.None))
            .ReturnsAsync(_apprenticeshipUpdatesResponse);
            _mockCommitmentsApiClient.Setup(c => c.GetApprenticeshipDatalocksStatus(It.IsAny <long>(), CancellationToken.None))
            .ReturnsAsync(_dataLocksResponse);
            _mockCommitmentsApiClient.Setup(c => c.GetChangeOfPartyRequests(It.IsAny <long>(), CancellationToken.None))
            .ReturnsAsync(_changeOfPartyRequestsResponse);
            _mockCommitmentsApiClient.Setup(t => t.GetTrainingProgramme(_apprenticeshipResponse.CourseCode, It.IsAny <CancellationToken>()))
            .ReturnsAsync(_trainingProgrammeResponse);
            _mockEncodingService = new Mock <IEncodingService>();
            _mapper = new ApprenticeshipDetailsRequestToViewModelMapper(_mockCommitmentsApiClient.Object, _mockEncodingService.Object, Mock.Of <ILogger <ApprenticeshipDetailsRequestToViewModelMapper> >());
        }
        public async Task WhenMoreThanOneChangeOfProviderRequestIsFound_ThenThePendingRequestIsMapped()
        {
            _changeOfPartyResponse = _autoFixture.Build <GetChangeOfPartyRequestsResponse>()
                                     .With(p => p.ChangeOfPartyRequests, GetChangeOfPartyRequestsWithMultipleRequestsMock())
                                     .Create();
            _mockCommitmentsApiClient.Setup(c => c.GetChangeOfPartyRequests(It.IsAny <long>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(_changeOfPartyResponse);

            _mockCommitmentsApiClient.Setup(c => c.GetProvider(_providerId, It.IsAny <CancellationToken>()))
            .ReturnsAsync(new GetProviderResponse {
                Name = "NewProvider"
            });

            var result = await _mapper.Map(_request);

            Assert.AreEqual("NewProvider", result.NewProviderName);
        }
            public GetAllTestsFixture()
            {
                _mediator = new Mock <IMediator>();
                _mapper   = new Mock <IModelMapper>();

                _queryResult  = new GetChangeOfPartyRequestsQueryResult();
                _mapperResult = new GetChangeOfPartyRequestsResponse();

                _autoFixture = new Fixture();

                _mediator.Setup(x =>
                                x.Send(It.Is <GetChangeOfPartyRequestsQuery>(q => q.ApprenticeshipId == _apprenticeshipId),
                                       It.IsAny <CancellationToken>()))
                .ReturnsAsync(_queryResult);

                _mapper.Setup(x => x.Map <GetChangeOfPartyRequestsResponse>(_queryResult)).ReturnsAsync(_mapperResult);

                _apprenticeshipId = _autoFixture.Create <long>();

                _controller = new ChangeOfPartyController(_mediator.Object, _mapper.Object);
            }
        public void Arrange()
        {
            _autoFixture = new Fixture();

            _changeOfPartyResponse = _autoFixture.Build <GetChangeOfPartyRequestsResponse>()
                                     .With(r => r.ChangeOfPartyRequests, GetChangeOfPartyRequestsMock())
                                     .Create();
            _apprenticeshipResponse = _autoFixture.Build <GetApprenticeshipResponse>()
                                      .Create();
            _priceEpisodesResponse = _autoFixture.Build <GetPriceEpisodesResponse>()
                                     .With(p => p.PriceEpisodes, GetPriceEpisodesMock())
                                     .Create();
            _providerResponse = _autoFixture.Build <GetProviderResponse>()
                                .Create();
            _request = _autoFixture.Build <ViewChangesRequest>()
                       .Create();

            _mockCommitmentsApiClient = new Mock <ICommitmentsApiClient>();

            _mockCommitmentsApiClient.Setup(c => c.GetChangeOfPartyRequests(It.IsAny <long>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(_changeOfPartyResponse);

            _mockCommitmentsApiClient.Setup(c => c.GetApprenticeship(It.IsAny <long>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(_apprenticeshipResponse);

            _mockCommitmentsApiClient.Setup(c => c.GetPriceEpisodes(It.IsAny <long>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(_priceEpisodesResponse);

            _mockCommitmentsApiClient.Setup(c => c.GetProvider(It.IsAny <long>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(_providerResponse);

            _mockEncodingService = new Mock <IEncodingService>();
            _mockEncodingService.Setup(c => c.Encode(It.IsAny <long>(), EncodingType.CohortReference))
            .Returns(_cohortReference);

            _mockCommitmentsApiClient.Setup(c => c.GetCohort(It.IsAny <long>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(GetCohortResponseMock());

            _mapper = new ViewChangesViewModelMapper(_mockCommitmentsApiClient.Object, _mockEncodingService.Object);
        }
Exemplo n.º 9
0
        public IChangeEmployerViewModelMapperTestsFixture WithChangeOfPartyRequest(ChangeOfPartyRequestStatus?requestStatus)
        {
            if (requestStatus.HasValue)
            {
                ChangeOfPartyRequests = new GetChangeOfPartyRequestsResponse
                {
                    ChangeOfPartyRequests = new List <GetChangeOfPartyRequestsResponse.ChangeOfPartyRequest>
                    {
                        new GetChangeOfPartyRequestsResponse.ChangeOfPartyRequest
                        {
                            ChangeOfPartyType   = ChangeOfPartyRequestType.ChangeEmployer,
                            OriginatingParty    = Party.Provider,
                            Status              = requestStatus.Value,
                            EmployerName        = EmployerName,
                            Price               = Price,
                            StartDate           = StartDate,
                            EndDate             = EndDate,
                            CohortId            = AutoFixture.Create <long>(),
                            WithParty           = AutoFixture.Create <Party>(),
                            NewApprenticeshipId = requestStatus == ChangeOfPartyRequestStatus.Approved
                                ? AutoFixture.Create <long>()
                                : default(long?)
                        }
                    }
                };
            }
            else
            {
                ChangeOfPartyRequests = new GetChangeOfPartyRequestsResponse
                {
                    ChangeOfPartyRequests = new List <GetChangeOfPartyRequestsResponse.ChangeOfPartyRequest>()
                };
            }

            _commitmentsApiClient
            .Setup(x => x.GetChangeOfPartyRequests(It.Is <long>(a => a == ApprenticeshipId),
                                                   It.IsAny <CancellationToken>())).ReturnsAsync(ChangeOfPartyRequests);

            return(this);
        }
Exemplo n.º 10
0
        public IChangeEmployerViewModelMapperTestsFixture()
        {
            AutoFixture = new Fixture();

            ProviderId             = 123;
            ApprenticeshipId       = 234;
            ApprenticeshipHashedId = "SD23DS24";
            EmployerName           = AutoFixture.Create <string>();
            StartDate                  = AutoFixture.Create <DateTime>();
            EndDate                    = AutoFixture.Create <DateTime>();
            Price                      = AutoFixture.Create <int>();
            CohortReference            = AutoFixture.Create <string>();
            EncodedNewApprenticeshipId = AutoFixture.Create <string>();

            _changeEmployerRequest = new ChangeEmployerRequest
            {
                ApprenticeshipId       = ApprenticeshipId,
                ProviderId             = ProviderId,
                ApprenticeshipHashedId = ApprenticeshipHashedId
            };

            Apprenticeship = new GetApprenticeshipResponse
            {
                EmployerName = AutoFixture.Create <string>(),
                StartDate    = AutoFixture.Create <DateTime>()
            };

            PriceEpisodes = new GetPriceEpisodesResponse
            {
                PriceEpisodes = new List <GetPriceEpisodesResponse.PriceEpisode>
                {
                    new GetPriceEpisodesResponse.PriceEpisode
                    {
                        FromDate = DateTime.MinValue,
                        Cost     = AutoFixture.Create <int>()
                    }
                }
            };

            ChangeOfPartyRequests = new GetChangeOfPartyRequestsResponse
            {
                ChangeOfPartyRequests = new List <GetChangeOfPartyRequestsResponse.ChangeOfPartyRequest>()
            };

            _commitmentsApiClient = new Mock <ICommitmentsApiClient>();
            _commitmentsApiClient
            .Setup(x => x.GetChangeOfPartyRequests(It.Is <long>(a => a == ApprenticeshipId),
                                                   It.IsAny <CancellationToken>())).ReturnsAsync(ChangeOfPartyRequests);

            _commitmentsApiClient.Setup(x => x.GetApprenticeship(It.Is <long>(a => a == ApprenticeshipId),
                                                                 It.IsAny <CancellationToken>())).ReturnsAsync(Apprenticeship);

            _commitmentsApiClient.Setup(x => x.GetPriceEpisodes(It.Is <long>(a => a == ApprenticeshipId),
                                                                It.IsAny <CancellationToken>())).ReturnsAsync(PriceEpisodes);

            _encodingService = new Mock <IEncodingService>();
            _encodingService.Setup(x => x.Encode(It.IsAny <long>(), EncodingType.CohortReference))
            .Returns(CohortReference);

            _encodingService.Setup(x => x.Encode(It.IsAny <long>(), EncodingType.ApprenticeshipId))
            .Returns(EncodedNewApprenticeshipId);

            _sut = new IChangeEmployerViewModelMapper(_commitmentsApiClient.Object, _encodingService.Object);
        }
Exemplo n.º 11
0
        public void SetUp()
        {
            //Arrange
            _request = autoFixture.Build <ApprenticeshipDetailsRequest>()
                       .With(x => x.AccountHashedId, $"A123")
                       .With(x => x.ApprenticeshipHashedId, $"A{ApprenticeshipIdFirst}")
                       .Create();
            _apprenticeshipResponse = autoFixture.Build <GetApprenticeshipResponse>()
                                      .With(x => x.Id, ApprenticeshipIdFirst)
                                      .With(x => x.CourseCode, "123")
                                      .With(x => x.StandardUId, "ST0001_1.0")
                                      .With(x => x.Version, "1.0")
                                      .With(x => x.DateOfBirth, autoFixture.Create <DateTime>())
                                      .Create();
            _priceEpisodesResponse = autoFixture.Build <GetPriceEpisodesResponse>()
                                     .With(x => x.PriceEpisodes, new List <PriceEpisode> {
                new PriceEpisode {
                    Cost = 1000, ToDate = DateTime.Now.AddMonths(-1)
                }
            })
                                     .Create();
            _apprenticeshipUpdatesResponse = autoFixture.Build <GetApprenticeshipUpdatesResponse>()
                                             .With(x => x.ApprenticeshipUpdates, new List <ApprenticeshipUpdate> {
                new ApprenticeshipUpdate {
                    OriginatingParty = Party.Employer
                }
            })
                                             .Create();
            _dataLocksResponse             = autoFixture.Build <GetDataLocksResponse>().Create();
            _changeOfPartyRequestsResponse = autoFixture.Build <GetChangeOfPartyRequestsResponse>().Create();

            var trainingProgrammeByStandardUId = autoFixture.Build <TrainingProgramme>()
                                                 .With(x => x.CourseCode, _apprenticeshipResponse.CourseCode)
                                                 .With(x => x.StandardUId, "ST0001_1.0")
                                                 .With(x => x.Version, "1.0")
                                                 .Create();

            _getTrainingProgrammeByStandardUId = new GetTrainingProgrammeResponse
            {
                TrainingProgramme = trainingProgrammeByStandardUId
            };

            var framework = autoFixture.Build <TrainingProgramme>()
                            .Without(x => x.Version)
                            .Without(x => x.StandardUId)
                            .With(x => x.CourseCode, "1-2-3")
                            .Create();

            _getTrainingProgrammeResponse = new GetTrainingProgrammeResponse
            {
                TrainingProgramme = framework
            };

            var trainingProgrammeVersions = autoFixture.Build <TrainingProgramme>().CreateMany(2).ToList();

            trainingProgrammeVersions[0].Version = "1.1";
            trainingProgrammeVersions[1].Version = "1.2";

            _newerTrainingProgrammeVersionsResponse = autoFixture.Build <GetNewerTrainingProgrammeVersionsResponse>()
                                                      .With(x => x.NewerVersions, trainingProgrammeVersions).Create();

            _changeOfProviderChainReponse = autoFixture.Build <GetChangeOfProviderChainResponse>().Create();

            _mockCommitmentsApiClient = new Mock <ICommitmentsApiClient>();
            _mockCommitmentsApiClient.Setup(r => r.GetApprenticeship(It.IsAny <long>(), CancellationToken.None))
            .ReturnsAsync(_apprenticeshipResponse);
            _mockCommitmentsApiClient.Setup(c => c.GetPriceEpisodes(It.IsAny <long>(), CancellationToken.None))
            .ReturnsAsync(_priceEpisodesResponse);
            _mockCommitmentsApiClient.Setup(c => c.GetApprenticeshipUpdates(It.IsAny <long>(), It.IsAny <GetApprenticeshipUpdatesRequest>(), CancellationToken.None))
            .ReturnsAsync(_apprenticeshipUpdatesResponse);
            _mockCommitmentsApiClient.Setup(c => c.GetApprenticeshipDatalocksStatus(It.IsAny <long>(), CancellationToken.None))
            .ReturnsAsync(_dataLocksResponse);
            _mockCommitmentsApiClient.Setup(c => c.GetChangeOfPartyRequests(It.IsAny <long>(), CancellationToken.None))
            .ReturnsAsync(_changeOfPartyRequestsResponse);
            _mockCommitmentsApiClient.Setup(t => t.GetNewerTrainingProgrammeVersions(It.IsAny <string>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(_newerTrainingProgrammeVersionsResponse);
            _mockCommitmentsApiClient.Setup(t => t.GetChangeOfProviderChain(It.IsAny <long>(), CancellationToken.None))
            .ReturnsAsync(_changeOfProviderChainReponse);
            _mockCommitmentsApiClient.Setup(c => c.GetTrainingProgrammeVersionByStandardUId(It.IsAny <string>(), CancellationToken.None))
            .ReturnsAsync(_getTrainingProgrammeByStandardUId);
            _mockCommitmentsApiClient.Setup(c => c.GetTrainingProgramme(It.IsAny <string>(), CancellationToken.None))
            .ReturnsAsync(_getTrainingProgrammeResponse);

            _mockEncodingService = new Mock <IEncodingService>();
            _mockEncodingService.Setup(t => t.Encode(It.IsAny <long>(), It.IsAny <EncodingType>()))
            .Returns((long value, EncodingType encodingType) => $"A{value}");
            _mockEncodingService.Setup(t => t.Decode(It.IsAny <string>(), It.IsAny <EncodingType>()))
            .Returns((string value, EncodingType encodingType) => long.Parse(Regex.Replace(value, "[A-Za-z ]", "")));

            _mapper = new ApprenticeshipDetailsRequestToViewModelMapper(_mockCommitmentsApiClient.Object, _mockEncodingService.Object, Mock.Of <ILogger <ApprenticeshipDetailsRequestToViewModelMapper> >());
        }