Ejemplo n.º 1
0
        public async Task TestHandle_UserIsNotFollower_ShouldSetAuthorIsFollowingCorrectly()
        {
            // Arrange
            var user = new UserProfile(Guid.NewGuid().ToString(), "currentUserEmail", "currentUserUsername");

            Context.UserProfiles.Add(user);

            var author  = new UserProfile(Guid.NewGuid().ToString(), "authorEmail", "authorUsername");
            var article = new Article("title", "description", "body", new DateTime(1, 2, 3), author);

            Context.Articles.Add(article);
            await Context.SaveChangesAsync();

            var expected = Mapper.Map <ArticleDto>(article);

            var query = new ArticleByIdQuery {
                Id = article.Id
            };

            var currentUser = Mock.Of <ICurrentUserService>(s => s.UserId == user.Id &&
                                                            s.IsAuthenticated == true);

            var sut = new ArticleByIdQuery.Handler(Context, Mapper, currentUser);

            // Act
            var actualResult = await sut.Handle(query, CancellationToken.None);

            // Assert
            actualResult.Should().BeEquivalentTo(expected,
                                                 opts => opts.Excluding(dto => dto.Author.Following));
            actualResult.Author.Following.Should().BeFalse();
        }
Ejemplo n.º 2
0
        public void TestHandle_ArticleDoesntExist_ShouldThrowEntityNotFoundException()
        {
            // Arrange
            var query = new ArticleByIdQuery {
                Id = 12
            };

            var currentUserMock = new Mock <ICurrentUserService>();

            var sut = new ArticleByIdQuery.Handler(Context, Mapper, currentUserMock.Object);

            // Act
            var act = new Func <Task <ArticleDto> >(async() => await sut.Handle(query, CancellationToken.None));

            // Assert
            act.Should().Throw <EntityNotFoundException <Article> >().And.Message.Should().Contain(query.Id.ToString());
        }
Ejemplo n.º 3
0
        public async Task TestHandle_ShouldReturnCorrectly()
        {
            // Arrange
            var article = new Article("title", "description", "body", new DateTime(1, 2, 3), new UserProfile(Guid.NewGuid().ToString(), "email", "username"));

            Context.Articles.Add(article);
            await Context.SaveChangesAsync();

            var expected = Mapper.Map <ArticleDto>(article);

            var query = new ArticleByIdQuery {
                Id = article.Id
            };

            var currentUserMock = new Mock <ICurrentUserService>();

            var sut = new ArticleByIdQuery.Handler(Context, Mapper, currentUserMock.Object);

            // Act
            var actualResult = await sut.Handle(query, CancellationToken.None);

            // Assert
            actualResult.Should().BeEquivalentTo(expected);
        }