public async Task GivenValidRequestWithAcceptTextCsvHeader_ThenReturnsListOfAssetOutputModel(int id) { //arrange AssetOutputModel assetOutputModel = new AssetOutputModel(TestData.Domain.GenerateAsset()) { Id = id }; _mockUseCase.Setup(s => s.ExecuteAsync(It.IsAny <GetAssetRequest>())).ReturnsAsync(new GetAssetResponse { Asset = assetOutputModel }); _classUnderTest.ControllerContext = new ControllerContext { HttpContext = new DefaultHttpContext() }; _classUnderTest.ControllerContext.HttpContext.Request.Headers.Add( new KeyValuePair <string, StringValues>("accept", "text/csv")); var request = new GetAssetApiRequest { Id = id }; //act IActionResult response = await _classUnderTest.Get(request).ConfigureAwait(false); //assert response.Should().NotBeNull(); var result = response as ObjectResult; result.Should().NotBeNull(); result.Value.Should().BeOfType <List <AssetOutputModel> >(); }
public void GivenInValidRequest_ThenThrowsBadRequestException(int id) { //arrange var request = new GetAssetApiRequest { Id = id }; request.IsValid().Should().BeFalse(); }
public async Task GivenValidRequest_ThenReturnsGetAssetResponse() { //arrange _mockUseCase.Setup(s => s.ExecuteAsync(It.IsAny <GetAssetRequest>())).ReturnsAsync(new GetAssetResponse()); var request = new GetAssetApiRequest(); //act var response = await _classUnderTest.Get(request); //assert response.Should().NotBeNull(); }
public async Task <IActionResult> Get([FromRoute] GetAssetApiRequest request) { if (!request.IsValid()) { return(StatusCode(400)); } GetAssetRequest getAssetRequest = new GetAssetRequest { Id = request.Id.Value }; return(this.StandardiseResponse <GetAssetResponse, AssetOutputModel>( await _assetUseCase.ExecuteAsync(getAssetRequest).ConfigureAwait(false))); }