public WhenPostingConfirmFixture()
            {
                _apiClient = new Mock <ICommitmentsApiClient>();
                _apiClient.Setup(x => x.CreateChangeOfPartyRequest(It.IsAny <long>(), It.IsAny <CreateChangeOfPartyRequestRequest>(),
                                                                   It.IsAny <CancellationToken>())).Returns(Task.CompletedTask);

                _mapperResult = new CreateChangeOfPartyRequestRequest();

                _modelMapper = new Mock <IModelMapper>();
                _modelMapper.Setup(x => x.Map <CreateChangeOfPartyRequestRequest>(It.IsAny <ConfirmViewModel>()))
                .ReturnsAsync(_mapperResult);

                _viewModel = new ConfirmViewModel
                {
                    ApprenticeshipId                 = 123,
                    ApprenticeshipHashedId           = "DF34WG2",
                    ProviderId                       = 2342,
                    AccountLegalEntityPublicHashedId = "DFF41G",
                    NewStartDate                     = "62020",
                    NewEmployerName                  = "TestEmployerName"
                };

                var tempData = new TempDataDictionary(new DefaultHttpContext(), Mock.Of <ITempDataProvider>());

                _sut = new ApprenticeController(_modelMapper.Object, Mock.Of <ICookieStorageService <IndexRequest> >(), _apiClient.Object);

                _sut.TempData = tempData;
            }
예제 #2
0
            public CreateTestsFixture()
            {
                _mediator = new Mock <IMediator>();
                _mapper   = new Mock <IModelMapper>();

                _autoFixture      = new Fixture();
                _apprenticeshipId = _autoFixture.Create <long>();
                _postRequest      = _autoFixture.Create <CreateChangeOfPartyRequestRequest>();

                _controller = new ChangeOfPartyController(_mediator.Object, _mapper.Object);
            }
        public void Setup()
        {
            var fixture = new Fixture();

            _request = fixture.Create <ConfirmCommand>();

            _commitmentsApiClient = new Mock <ICommitmentsV2ApiClient <CommitmentsV2ApiConfiguration> >();
            _commitmentsApiClient.Setup(x => x.PostWithResponseCode <CreateChangeOfPartyRequestResponse>(It.IsAny <CreateChangeOfPartyRequestRequest>()))
            .Callback <IPostApiRequest>(request => _apiRequest = request as CreateChangeOfPartyRequestRequest)
            .ReturnsAsync(new ApiResponse <CreateChangeOfPartyRequestResponse>(null, HttpStatusCode.OK, string.Empty));

            _handler = new ConfirmCommandHandler(_commitmentsApiClient.Object);
        }
예제 #4
0
        public async Task Setup()
        {
            var fixture = new Fixture();

            _viewModel = fixture.Build <ConfirmDetailsAndSendViewModel>()
                         .With(x => x.NewStartDate, DateTime.Now)
                         .With(x => x.NewEndDate, DateTime.Now.AddYears(1))
                         .Create();

            var mapper = new EmployerLedCreateChangeOfProviderRequestMapper();

            _result = await mapper.Map(_viewModel);
        }
        public async Task Arrange()
        {
            var fixture = new Fixture();

            _source = new ConfirmViewModel
            {
                NewStartDate         = "032020",
                NewEndDate           = "092021",
                AccountLegalEntityId = fixture.Create <long>(),
                NewPrice             = fixture.Create <int>()
            };


            _mapper = new CreateChangeOfPartyRequestMapper();
            _result = await _mapper.Map(TestHelper.Clone(_source));
        }
예제 #6
0
        public async Task <Unit> Handle(ConfirmCommand request, CancellationToken cancellationToken)
        {
            var body = new CreateChangeOfPartyRequestRequest.Body
            {
                ChangeOfPartyRequestType = ChangeOfPartyRequestType.ChangeEmployer,
                NewPartyId           = request.AccountLegalEntityId,
                NewPrice             = request.Price,
                NewStartDate         = request.StartDate,
                NewEndDate           = request.EndDate,
                NewEmploymentEndDate = request.EmploymentEndDate,
                NewEmploymentPrice   = request.EmploymentPrice,
                DeliveryModel        = request.DeliveryModel,
                UserInfo             = request.UserInfo
            };

            var apiRequest = new CreateChangeOfPartyRequestRequest(request.ApprenticeshipId, body);

            var response = await _commitmentsApiClient.PostWithResponseCode <CreateChangeOfPartyRequestResponse>(apiRequest);

            response.EnsureSuccessStatusCode();

            return(Unit.Value);
        }
예제 #7
0
        public async Task Arrange()
        {
            //Arrange
            var fixture = new Fixture();

            _source = new SendNewTrainingProviderViewModel
            {
                ProviderId             = fixture.Create <long>(),
                AccountHashedId        = fixture.Create <string>(),
                AccountId              = fixture.Create <long>(),
                Confirm                = fixture.Create <bool>(),
                OldProviderName        = fixture.Create <string>(),
                NewProviderName        = fixture.Create <string>(),
                EmployerName           = fixture.Create <string>(),
                ApprenticeName         = fixture.Create <string>(),
                ApprenticeshipStatus   = ApprenticeshipStatus.Stopped,
                ApprenticeshipId       = fixture.Create <int>(),
                ApprenticeshipHashedId = fixture.Create <string>()
            };
            _mapper = new CreateChangeOfPartyRequestMapper();

            //Act
            _result = await _mapper.Map(TestHelper.Clone(_source));
        }
예제 #8
0
 public Task CreateChangeOfPartyRequest(long apprenticeshipId, CreateChangeOfPartyRequestRequest request, CancellationToken cancellationToken = default)
 {
     return(_client.PostAsJson($"api/apprenticeships/{apprenticeshipId}/change-of-party-requests", request, cancellationToken));
 }
예제 #9
0
        public async Task <IActionResult> CreateChangeOfPartyRequest(long apprenticeshipId, CreateChangeOfPartyRequestRequest request, CancellationToken cancellationToken = default)
        {
            await _mediator.Send(new CreateChangeOfPartyRequestCommand
            {
                ApprenticeshipId         = apprenticeshipId,
                ChangeOfPartyRequestType = request.ChangeOfPartyRequestType,
                NewPartyId   = request.NewPartyId,
                NewStartDate = request.NewStartDate,
                NewEndDate   = request.NewEndDate,
                NewPrice     = request.NewPrice,
                UserInfo     = request.UserInfo
            }, cancellationToken);

            return(Ok());
        }