public void Constructor_ConstructsRequest(ProviderCourseUpdateModel data)
        {
            var request = new ProviderCourseUpdateRequest(data);

            request.Data.Should().Be(data);
            request.Ukprn.Should().Be(data.Ukprn);
            request.LarsCode.Should().Be(data.LarsCode);
            request.PutUrl.Should().Be($"providers/{data.Ukprn}/courses/{data.LarsCode}/");
        }
        public async Task Handle_CallsApiClient(
            [Frozen] Mock <IRoatpCourseManagementApiClient <RoatpV2ApiConfiguration> > apiClientMock,
            UpdateContactDetailsCommandHandler sut,
            UpdateContactDetailsCommand command,
            CancellationToken cancellationToken,
            ProviderCourseUpdateRequest request,
            GetProviderCourseResponse apiResponse)
        {
            apiClientMock.Setup(a => a.Get <GetProviderCourseResponse>(It.IsAny <GetProviderCourseRequest>())).ReturnsAsync(apiResponse);

            await sut.Handle(command, cancellationToken);

            apiClientMock.Verify(a => a.Put(It.IsAny <ProviderCourseUpdateRequest>()), Times.Once);
        }
Esempio n. 3
0
        public async Task <Unit> Handle(UpdateApprovedByRegulatorCommand command, CancellationToken cancellationToken)
        {
            var providerCourse = await _innerApiClient.Get <GetProviderCourseResponse>(new GetProviderCourseRequest(command.Ukprn, command.LarsCode));

            var updateProviderCourse = new ProviderCourseUpdateModel
            {
                Ukprn                 = command.Ukprn,
                LarsCode              = command.LarsCode,
                UserId                = command.UserId,
                ContactUsEmail        = providerCourse.ContactUsEmail,
                ContactUsPhoneNumber  = providerCourse.ContactUsPhoneNumber,
                ContactUsPageUrl      = providerCourse.ContactUsPageUrl,
                StandardInfoUrl       = providerCourse.StandardInfoUrl,
                IsApprovedByRegulator = command.IsApprovedByRegulator
            };
            var request = new ProviderCourseUpdateRequest(updateProviderCourse);
            await _innerApiClient.Put(request);

            return(Unit.Value);
        }