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(); }
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()); }