コード例 #1
0
        public void ItShouldReturnCreatedBeer()
        {
            var responseBeer = new Beer(Guid.NewGuid(), "Label", "Description", 5);

            var response = new UpdateExistingBeerResponse
            {
                Beer   = responseBeer,
                Errors = null
            };

            var presenter = new ApiUpdateExistingBeerPresenter();

            presenter.Present(response);

            var viewModel = presenter.ViewModel;

            var viewModelBeer = viewModel.Data;

            Assert.Equal(responseBeer.Id.Value, viewModelBeer.Id);
            Assert.Equal(responseBeer.Label.Value, viewModelBeer.Label);
            Assert.Equal(responseBeer.Description.Value, viewModelBeer.Description);
            Assert.Equal(responseBeer.Stock.Value, viewModelBeer.Stock);
            Assert.True(viewModelBeer.Available);
            Assert.True(viewModelBeer.LastItems);
        }
コード例 #2
0
        public void ItShouldReturnErrors()
        {
            var responsErrors = new List <ValidationFailure>
            {
                new ValidationFailure("Label", "Label Error"),
                new ValidationFailure("Description", "Description Error")
            };

            var response = new UpdateExistingBeerResponse
            {
                Beer   = null,
                Errors = responsErrors
            };

            var presenter = new ApiUpdateExistingBeerPresenter();

            presenter.Present(response);

            var viewModel = presenter.ViewModel;

            var viewModelErrors = viewModel.Errors?.Select(e => e).ToList();

            Assert.NotNull(viewModelErrors);
            Assert.Equal(2, viewModelErrors.Count);
            Assert.Equal(responsErrors[0].PropertyName, viewModelErrors[0].Key);
            Assert.Equal(responsErrors[0].ErrorMessage, viewModelErrors[0].Value);
            Assert.Equal(responsErrors[1].PropertyName, viewModelErrors[1].Key);
            Assert.Equal(responsErrors[1].ErrorMessage, viewModelErrors[1].Value);
        }
コード例 #3
0
        public ActionResult UpdateExistingBeer([FromRoute][FromBody] UpdateExistingBeerRequest request)
        {
            var useCase = new UpdateExistingBeer(_catalog);

            var presenter = new ApiUpdateExistingBeerPresenter();

            useCase.Execute(request, presenter);

            var viewModel = presenter.ViewModel;

            if (viewModel.HttpCode == 200)
            {
                return(Ok(viewModel));
            }
            return(BadRequest(viewModel));
        }
コード例 #4
0
        public void ItShouldNotReturnCreatedBeer()
        {
            var response = new UpdateExistingBeerResponse
            {
                Beer   = null,
                Errors = null
            };

            var presenter = new ApiUpdateExistingBeerPresenter();

            presenter.Present(response);

            var viewModel = presenter.ViewModel;

            Assert.Null(viewModel.Data);
        }
コード例 #5
0
        public void ItShouldReturn400HttpCode()
        {
            var response = new UpdateExistingBeerResponse
            {
                Beer   = null,
                Errors = null
            };

            var presenter = new ApiUpdateExistingBeerPresenter();

            presenter.Present(response);

            var viewModel = presenter.ViewModel;

            Assert.Equal(400, viewModel.HttpCode);
        }
コード例 #6
0
        public void ItShouldNotReturnErrors()
        {
            var response = new UpdateExistingBeerResponse
            {
                Beer   = new Beer(Guid.NewGuid(), "Label", "Description", 5),
                Errors = new List <ValidationFailure>()
            };

            var presenter = new ApiUpdateExistingBeerPresenter();

            presenter.Present(response);

            var viewModel = presenter.ViewModel;

            Assert.Null(viewModel.Errors);
        }
コード例 #7
0
        public void ItShouldReturn200HttpCode()
        {
            var response = new UpdateExistingBeerResponse
            {
                Beer   = new Beer(Guid.NewGuid(), "Label", "Description", 0),
                Errors = null
            };

            var presenter = new ApiUpdateExistingBeerPresenter();

            presenter.Present(response);

            var viewModel = presenter.ViewModel;

            Assert.Equal(200, viewModel.HttpCode);
        }