public async Task GivenValidedInput_GatewayReceivesCorrectInput() { //arrange var tenancyAgreementRef = "Test"; _fakeGateway.Setup(s => s.CreateActionDiaryEntryAsync(It.Is <ArrearsActionCreateRequest>(i => i.ArrearsAction.TenancyAgreementRef.Equals("Test")))) .ReturnsAsync(new ArrearsActionResponse { Success = true, ArrearsAction = new ArrearsActionLogDto { TenancyAgreementRef = tenancyAgreementRef } }); var request = new ArrearsActionCreateRequest { ArrearsAction = new ArrearsActionInfo { TenancyAgreementRef = tenancyAgreementRef } }; //act var response = await _classUnderTest.ExecuteAsync(request); //assert _fakeGateway.Verify(v => v.CreateActionDiaryEntryAsync(It.Is <ArrearsActionCreateRequest>(i => i.ArrearsAction.TenancyAgreementRef.Equals("Test")))); }
public async Task <IActionResult> Post([FromBody][Required] ArrearsActionCreateRequest request) { if (!request.IsValid()) { return(BadRequest()); } var response = await _createArrearsActionDiaryUseCase.ExecuteAsync(request); if (!response.Success) { return(StatusCode(500, response)); } return(Ok(response)); }