Пример #1
0
        public async Task AddArticleAsync__Already_there_is_the_same_element_in_database__Should_return_400BadRequest_response()
        {
            var ArticleDto = CreateArticleDto(_articles[0]);

            _mapperMock.Setup(x => x.Map <Article>(ArticleDto)).Returns(_articles[0]);
            _articleDbServiceMock.Setup(x => x.AddAsync(It.IsNotNull <Article>())).ThrowsAsync(new InvalidOperationException());
            _articleDbServiceMock.Setup(x => x.RestrictedAddAsync(It.IsNotNull <Article>())).ThrowsAsync(new InvalidOperationException());
            var controller = new ArticlesController(_articleDbServiceMock.Object, _logger, _mapperMock.Object);

            var result = await controller.AddArticleAsync(ArticleDto);

            (result as ObjectResult).StatusCode.Should().Be(400);
            ((result as ObjectResult).Value as ResponseWrapper).Error.Should().NotBeNull();
        }
Пример #2
0
        public async Task AddArticleAsync__An_internal_error_reffered_to_the_database_occurred__Should_throw_InternalDbServiceException()
        {
            // Example of these errors: database does not exist, table does not exist etc.

            _articleDbServiceMock.Setup(x => x.AddAsync(It.IsAny <Article>())).ThrowsAsync(new InternalDbServiceException());
            _articleDbServiceMock.Setup(x => x.RestrictedAddAsync(It.IsAny <Article>())).ThrowsAsync(new InternalDbServiceException());
            var controller = new ArticlesController(_articleDbServiceMock.Object, _logger, _mapperMock.Object);
            var article    = new ArticleDto {
                Id = "1"
            };

            Func <Task> result = async() => await controller.AddArticleAsync(article);

            await result.Should().ThrowExactlyAsync <InternalDbServiceException>();
        }
Пример #3
0
        public async Task AddArticleAsync__Add_succeeded__Should_return_200OK_response_with_added_element()
        {
            var validArticle = new Article {
                Id = "12312321321321", Title = "Valid title"
            };
            var validArticleDto = CreateArticleDto(validArticle);

            _mapperMock.Setup(x => x.Map <Article>(It.IsNotNull <ArticleDto>())).Returns(validArticle);
            _mapperMock.Setup(x => x.Map <ArticleDto>(It.IsNotNull <Article>())).Returns(validArticleDto);
            _articleDbServiceMock.Setup(x => x.AddAsync(validArticle)).ReturnsAsync(validArticle);
            _articleDbServiceMock.Setup(x => x.RestrictedAddAsync(validArticle)).ReturnsAsync(validArticle);

            var controller = new ArticlesController(_articleDbServiceMock.Object, _logger, _mapperMock.Object);

            var result = await controller.AddArticleAsync(validArticleDto);

            (result as ObjectResult).StatusCode.Should().Be(201);
            ((result as ObjectResult).Value as ResponseWrapper).Error.Should().BeEquivalentTo(new ApiError());
        }