Beispiel #1
0
        public void Should_create_banner_with_correct_id()
        {
            var createBanner = new PostBanner {
                Id = 1, Html = "html1"
            };
            var mappedPostBanner = new Banner {
                Id = createBanner.Id, Html = createBanner.Html
            };

            Banner     savedBanner  = null;
            PostBanner mappedBanner = null;

            A.CallTo(() => _repository.TrySave(A <Banner> .Ignored))
            .Invokes((Banner banner) => savedBanner = banner)
            .Returns(true);

            A.CallTo(() => _mapper.Map(A <PostBanner> .Ignored))
            .Invokes((PostBanner banner) => mappedBanner = banner)
            .Returns(mappedPostBanner);

            var result = _controller.PostBanner(createBanner) as StatusCodeResult;

            result.StatusCode.Should().Be(StatusCodes.Status200OK);

            mappedBanner.Id.Should().Be(1);
            mappedBanner.Html.Should().Be("html1");

            savedBanner.Id.Should().Be(1);
            savedBanner.Html.Should().Be("html1");
        }
Beispiel #2
0
        public IActionResult PostBanner([FromBody] PostBanner postBanner)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var parseErrors = _validateHtml.Validate(postBanner.Html);

            if (parseErrors.Any())
            {
                return(BadRequest(new ErrorResponse(parseErrors)));
            }

            if (!_repository.TrySave(_mapper.Map(postBanner)))
            {
                return(BadRequest($"Failed to save banner"));
            }

            return(Ok());
        }