示例#1
0
        public async Task Handlers_CallsPostOnApiClient(AddNationalLocationToProviderCourseLocationsCommand command)
        {
            var apiClientMock = new Mock <IRoatpCourseManagementApiClient <RoatpV2ApiConfiguration> >();
            var sut           = new AddNationalLocationToProviderCourseLocationsCommandHandler(apiClientMock.Object);

            await sut.Handle(command, new CancellationToken());

            apiClientMock.Verify(a => a.PostWithResponseCode <int>(It.Is <AddNationalLocationToProviderCourseLocationsRequest>(r => r.Ukprn == command.Ukprn && r.LarsCode == command.LarsCode && r.UserId == command.UserId && r.PostUrl == $"/providers/{command.Ukprn}/courses/{command.LarsCode}/locations/national")));
        }
        public async Task AddNationalLocationToProviderCourseLocations_CallsHandler(int ukprn, int larsCode, AddNationalLocationToProviderCourseLocationsCommand command)
        {
            var mediatorMock = new Mock <IMediator>();
            var sut          = new ProviderCourseLocationCreateController(Mock.Of <ILogger <ProviderCourseLocationCreateController> >(), mediatorMock.Object);

            var response = await sut.AddNationalLocationToProviderCourseLocations(ukprn, larsCode, command);

            mediatorMock.Verify(m => m.Send(command, new CancellationToken()));

            var result = (NoContentResult)response;

            result.Should().NotBeNull();
        }
示例#3
0
        public async Task <IActionResult> AddNationalLocationToProviderCourseLocations([FromRoute] int ukprn, [FromRoute] int larsCode, [FromBody] AddNationalLocationToProviderCourseLocationsCommand command)
        {
            _logger.LogInformation("Outer API: Request received to add national location for ukprn: {ukprn} larscode: {larscode} by user: {userId}", ukprn, larsCode, command.UserId);

            command.Ukprn    = ukprn;
            command.LarsCode = larsCode;

            await _mediator.Send(command);

            return(NoContent());
        }