public void ThenApprenticeshipMustNotAlreadyHaveAPendingOrApprovedRequest(ChangeOfPartyRequestStatus status, bool expectThrow)
        {
            _fixture
            .WithExistingChangeOfPartyRequest(status)
            .CreateChangeOfPartyRequest();

            if (expectThrow)
            {
                _fixture.VerifyException <DomainException>();
            }
            else
            {
                _fixture.VerifyResult();
            }
        }
        public async Task ShowChangeTrainingProviderLink_IsMapped(ChangeOfPartyRequestStatus changeOfPartyRequestStatus, bool flag)
        {
            //Arrange
            _apprenticeshipResponse.Status = ApprenticeshipStatus.Stopped;
            _changeOfPartyRequestsResponse.ChangeOfPartyRequests = new List <ChangeOfPartyRequest>
            {
                new ChangeOfPartyRequest
                {
                    Status            = changeOfPartyRequestStatus,
                    ChangeOfPartyType = ChangeOfPartyRequestType.ChangeProvider
                }
            };

            //Act
            var result = await _mapper.Map(_request);

            //Assert
            Assert.AreEqual(result.ShowChangeTrainingProviderLink, flag);
        }
        public async Task HasApprovedChangeOfEmployerRequest_IsMapped(ChangeOfPartyRequestStatus changeOfPartyRequestStatus, bool pendingChangeRequest)
        {
            //Arrange
            _changeOfPartyRequestsResponse.ChangeOfPartyRequests = new List <GetChangeOfPartyRequestsResponse.ChangeOfPartyRequest>()
            {
                new GetChangeOfPartyRequestsResponse.ChangeOfPartyRequest
                {
                    Id = 1,
                    ChangeOfPartyType = ChangeOfPartyRequestType.ChangeEmployer,
                    OriginatingParty  = Party.Employer,
                    Status            = changeOfPartyRequestStatus,
                    WithParty         = Party.Provider
                }
            };

            //Act
            var result = await _mapper.Map(_request);

            //Assert
            Assert.AreEqual(pendingChangeRequest, result.HasApprovedChangeOfEmployerRequest);
        }
        public void Then_CoE_request_not_yet_approved_dont_show_ChangeProviderLink(ChangeOfPartyRequestStatus changeOfPartyRequestStatus, bool flag)
        {
            //Arrange
            var apprenticeship = new Apprenticeship
            {
                PaymentStatus         = PaymentStatus.Withdrawn,
                StartDate             = new DateTime(2018, 05, 05),
                StopDate              = new DateTime(2018, 11, 05),
                ChangeOfPartyRequests = new List <ChangeOfPartyRequest>
                {
                    new ChangeOfPartyRequest
                    {
                        Status            = changeOfPartyRequestStatus,
                        ChangeOfPartyType = ChangeOfPartyRequestType.ChangeEmployer
                    }
                }
            };

            //Act
            var viewModel = Sut.MapToApprenticeshipDetailsViewModel(apprenticeship);

            //Assert
            viewModel.ShowChangeTrainingProviderLink.Should().Be(flag);
        }
        public async Task Then_CoE_request_approved_by_parties_apprenticeship_moved_from_me_dont_show_ChangeProviderLink(ChangeOfPartyRequestStatus changeOfPartyRequestStatus, bool flag)
        {
            //Arrange
            _apprenticeshipResponse.Status                       = ApprenticeshipStatus.Stopped;
            _apprenticeshipResponse.ContinuationOfId             = null; /* apprenticeship has moved from me to another employer*/
            _changeOfPartyRequestsResponse.ChangeOfPartyRequests = new List <ChangeOfPartyRequest>
            {
                new ChangeOfPartyRequest
                {
                    Status            = changeOfPartyRequestStatus,
                    ChangeOfPartyType = ChangeOfPartyRequestType.ChangeEmployer
                }
            };

            //Act
            var result = await _mapper.Map(_request);

            //Assert
            Assert.AreEqual(result.ShowChangeTrainingProviderLink, flag);
        }
コード例 #6
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);
            }
コード例 #7
0
        public async Task ThenPendingOrApprovedChangeOfPartyRequestPreventsChangeOfEmployer(ChangeOfPartyRequestStatus status, bool expectChangeEmployerEnabled)
        {
            _fixture
            .WithChangeOfEmployerToggle(true)
            .WithChangeOfPartyRequest(ChangeOfPartyRequestType.ChangeEmployer, status);
            await _fixture.Map();

            Assert.AreEqual(expectChangeEmployerEnabled, _fixture.Result.IsChangeOfEmployerEnabled);
        }
コード例 #8
0
 public WhenWithdrawnTestFixture WithStatus(ChangeOfPartyRequestStatus status)
 {
     _changeOfPartyRequest.SetValue(x => x.Status, status);
     return(this);
 }
コード例 #9
0
 public void Then_If_Status_Is_Invalid_Then_Throws(ChangeOfPartyRequestStatus status)
 {
     _fixture.WithStatus(status);
     _fixture.Withdraw();
     _fixture.VerifyException();
 }
        public void Then_CoE_request_approved_by_parties_apprenticeship_moved_from_me_dont_show_ChangeProviderLink(ChangeOfPartyRequestStatus changeOfPartyRequestStatus, bool flag)
        {
            //Arrange
            var apprenticeship = new Apprenticeship
            {
                PaymentStatus         = PaymentStatus.Withdrawn,
                StartDate             = new DateTime(2018, 05, 05),
                StopDate              = new DateTime(2018, 11, 05),
                ContinuationOfId      = null, /* apprenticeship has moved from me to another employer*/
                ChangeOfPartyRequests = new List <ChangeOfPartyRequest>
                {
                    new ChangeOfPartyRequest
                    {
                        Status            = changeOfPartyRequestStatus,
                        ChangeOfPartyType = ChangeOfPartyRequestType.ChangeEmployer
                    }
                }
            };

            //Act
            var viewModel = Sut.MapToApprenticeshipDetailsViewModel(apprenticeship);

            //Assert
            viewModel.ShowChangeTrainingProviderLink.Should().Be(flag);
        }
コード例 #11
0
        public async Task Then_With_A_ChangeOfPartyRequest_Pending_Or_Approved_Then_Result_Is_ChangeEmployerRequestDetailsViewModel(ChangeOfPartyRequestStatus status)
        {
            _fixture.WithChangeOfPartyRequest(status);
            await _fixture.Act();

            _fixture.VerifyResult <ChangeEmployerRequestDetailsViewModel>();
        }
コード例 #12
0
        public async Task Then_With_A_ChangeOfPartyRequest_Rejected_Or_Withdrawn_Then_Result_Is_InformViewModel(ChangeOfPartyRequestStatus status)
        {
            _fixture.WithChangeOfPartyRequest(status);
            await _fixture.Act();

            _fixture.VerifyResult <InformViewModel>();
        }
            public WhenCreatingChangeOfPartyRequestFixture WithExistingChangeOfPartyRequest(ChangeOfPartyRequestStatus status)
            {
                var request = new CommitmentsV2.Models.ChangeOfPartyRequest();

                var t = typeof(CommitmentsV2.Models.ChangeOfPartyRequest);

                t.GetProperty("Status").SetValue(request, status, null);

                PreviousChangeOfPartyRequests.Add(request);

                return(this);
            }