public void GivenTheCallerWantsToRecalculateEarnings() { _request = _fixture.Build <RecalculateEarningsRequest>() .With(x => x.IncentiveLearnerIdentifiers, _fixture.CreateMany <IncentiveLearnerIdentifierDto>(5).ToList()) .Create(); }
public void Then_The_Post_Url_Is_Correctly_Built(RecalculateEarningsRequest data) { var actual = new PostRecalculateEarningsRequest(data); actual.PostUrl.Should().Be($"earningsRecalculations"); actual.Data.Should().BeEquivalentTo(data); }
public async Task <IActionResult> RecalculateEarnings([FromBody] RecalculateEarningsRequest request) { try { await _mediator.Send(new RecalculateEarningsCommand(request)); return(NoContent()); } catch (HttpRequestContentException requestException) { return(BadRequest(requestException.ErrorContent)); } }
public async Task RecalculateEarnings(RecalculateEarningsRequest recalculateEarningsRequest) { var postRequest = new PostRecalculateEarningsRequest(recalculateEarningsRequest); var response = await _client.PostWithResponseCode <PostRecalculateEarningsRequest>(postRequest); if (ApiResponseErrorChecking.IsSuccessStatusCode(response.StatusCode)) { return; } throw new HttpRequestContentException($"Response status code does not indicate success: {(int)response.StatusCode} ({response.StatusCode})", response.StatusCode, response.ErrorContent); }
public async Task Then_Sends_Earnings_Recalculations_to_Mediator( RecalculateEarningsRequest request, [Frozen] Mock <IMediator> mockMediator, [Greedy] ApprenticeshipIncentiveController controller) { mockMediator .Setup(mediator => mediator.Send( It.Is <RecalculateEarningsCommand>(c => c.RecalculateEarningsRequest.Equals(request)), It.IsAny <CancellationToken>())) .ReturnsAsync(Unit.Value); var controllerResult = await controller.RecalculateEarnings(request) as NoContentResult; Assert.IsNotNull(controllerResult); controllerResult.StatusCode.Should().Be((int)HttpStatusCode.NoContent); }
public async Task Then_The_Api_Is_Called_With_The_Recalculate_Earnings_Request( RecalculateEarningsRequest request, [Frozen] Mock <IEmployerIncentivesApiClient <EmployerIncentivesConfiguration> > client, EmployerIncentivesService service ) { client.Setup(x => x.PostWithResponseCode <PostRecalculateEarningsRequest>( It.Is <PostRecalculateEarningsRequest>( c => c.PostUrl.Contains("earningsRecalculations") ))).ReturnsAsync(new ApiResponse <PostRecalculateEarningsRequest>(null, HttpStatusCode.NoContent, "")); await service.RecalculateEarnings(request); client.Verify(x => x.PostWithResponseCode <PostRecalculateEarningsRequest>( It.Is <PostRecalculateEarningsRequest>(c => c.PostUrl.Contains("earningsRecalculations") )), Times.Once); }
public RecalculateEarningsCommand(RecalculateEarningsRequest request) { RecalculateEarningsRequest = request; }