示例#1
0
        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> >();
        }
示例#2
0
        public void GivenInValidRequest_ThenThrowsBadRequestException(int id)
        {
            //arrange
            var request = new GetAssetApiRequest
            {
                Id = id
            };

            request.IsValid().Should().BeFalse();
        }
示例#3
0
        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();
        }
示例#4
0
        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)));
        }