Ejemplo n.º 1
0
 public void Like(Guid messageId, User user)
 {
     var likeDocument = new LikeDocument {
         UserName = user.Name, CreateDate = DateTime.UtcNow
     };
     //TODO: Здесь нужно реализовать вставку одобрения в базу
 }
Ejemplo n.º 2
0
        public void Dislike_ExistingMessage_ShouldRemoveLike()
        {
            var user         = fixture.Create <User>();
            var existingLike = new LikeDocument {
                UserName = user.Name, CreateDate = DateTime.UtcNow
            };
            var messageDocument = fixture.Build <MessageDocument>().With(d => d.Likes, new[] { existingLike }).Create();

            messagesCollection.Save(messageDocument);

            sut.Dislike(messageDocument.Id, user);

            var actual = messagesCollection.FindOneAs <MessageDocument>(Query <MessageDocument> .EQ(d => d.Id, messageDocument.Id));

            Assert.That(actual.Likes, Is.Empty);
        }
Ejemplo n.º 3
0
        public void Dislike_SameUserOtherMessage_ShouldNotRemoveLike()
        {
            var user = fixture.Create <User>();
            var like = new LikeDocument {
                UserName = user.Name, CreateDate = DateTime.UtcNow
            };
            var messageDocument = fixture.Build <MessageDocument>().With(d => d.Likes, new[] { like }).Create();

            messagesCollection.Save(messageDocument);

            sut.Dislike(fixture.Create <Guid>(), user);

            var actual = messagesCollection.FindOneAs <MessageDocument>(Query <MessageDocument> .EQ(d => d.Id, messageDocument.Id));

            Assert.That(actual.Likes, Has.Some.Matches <LikeDocument>(d => d.UserName == user.Name));
        }
Ejemplo n.º 4
0
        public void Like_LikedMessage_ShouldNotAddLikeDocument()
        {
            var user = fixture.Create <User>();
            var like = new LikeDocument {
                UserName = user.Name, CreateDate = DateTime.UtcNow
            };
            var messageDocument = fixture.Build <MessageDocument>().With(d => d.Likes, new[] { like }).Create();

            messagesCollection.Insert(messageDocument);

            sut.Like(messageDocument.Id, user);

            var actual = messagesCollection.FindOneAs <MessageDocument>(Query <MessageDocument> .EQ(d => d.Id, messageDocument.Id));

            Assert.That(actual.Likes.ToArray(), Has.Length.EqualTo(1));
        }