Exemplo n.º 1
0
        public void EnsureUserHasMessages_DoesntPullIfExisting()
        {
            var id = "12345";
            var messages = new List<Message>
            {
                new Message
                {
                    Users = new List<string>() { id }
                }
            };

            var repo = new Mock<IRepository>();
            repo.Setup( a => a.Find<Message>() )
                .Returns( messages.AsQueryable() );

            var handler = new MessageHandler( repo.Object );

            handler.EnsureUserHasMessages( id );

            CollectionAssert.AreEquivalent( messages, handler.GetMessagesForUser( id ).ToList() );
        }
Exemplo n.º 2
0
        public void EnsureUserHasMessages_AssignsLatestMessages_ThatUserDidntCreate_IfNoneAssigned()
        {
            var id = "12345";
            var messages = new List<Message>
            {
                new Message
                {
                    Created = DateTime.MaxValue,
                    Users= new List<string>()
                },
                new Message
                {
                    Creator = id,
                    Created = DateTime.MaxValue.AddDays( -1 ),
                    Users= new List<string>()
                },
                new Message
                {
                    Created = DateTime.MaxValue.AddDays( -2 ),
                    Users= new List<string>()
                }
            };

            var repo = new Mock<IRepository>();
            repo.Setup( a => a.Find<Message>() )
                .Returns( messages.AsQueryable() );

            var handler = new MessageHandler( repo.Object );

            handler.EnsureUserHasMessages( id );

            CollectionAssert.AreEquivalent( messages.Where( a => a.Creator != id ).ToList(), handler.GetMessagesForUser( id ).ToList() );
            repo.Verify( a => a.Save<Message>( It.IsAny<Message>() ), Times.Exactly( messages.Count( a => a.Creator != id ) ) );
        }