コード例 #1
0
ファイル: MessageHandlerTests.cs プロジェクト: upta/PrayCloud
        public void DispatchMessage_AssignsUsers_WithEarliestLastAssigned_WhoArentCreator()
        {
            var id = "12345";
            var message = new Message
            {
                Creator = id,
                Users = new List<string>()
            };

            var users =new List<User>
            {
                new User
                {
                    Id = id,
                    LastAssigned = DateTime.MinValue
                },
                new User
                {
                    Id = "newer",
                    LastAssigned = DateTime.MinValue.AddDays( 1 )
                },
                new User
                {
                    Id = "older",
                    LastAssigned = DateTime.MinValue.AddDays( 1 )
                }
            };

            var expectedUsers = users.Where( a => a.Id == "newer" );

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

            var handler = new MessageHandler( repo.Object );

            handler.DispatchMessage( message, 1 );

            CollectionAssert.AreEquivalent( expectedUsers.Select( a => a.Id ).ToList(), message.Users );
            repo.Verify( a => a.Save<Message>( message ) );
        }
コード例 #2
0
ファイル: MessageHandlerTests.cs プロジェクト: upta/PrayCloud
        public void DispatchMessage_UpdatesLastModified_OfAssignedUsers()
        {
            var id = "12345";
            var message = new Message
            {
                Creator = id,
                Users = new List<string>()
            };

            var users = new List<User>
            {
                new User
                {
                    Id = id,
                    LastAssigned = DateTime.MinValue
                },
                new User
                {
                    Id = "newer",
                    LastAssigned = DateTime.MinValue.AddDays( 1 )
                },
                new User
                {
                    Id = "older",
                    LastAssigned = DateTime.MinValue.AddDays( 1 )
                }
            };

            var expectedUser = users.First( a => a.Id == "newer" );
            var originalLastAssigned = expectedUser.LastAssigned;

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

            var handler = new MessageHandler( repo.Object );

            handler.DispatchMessage( message, 1 );

            Assert.IsTrue( originalLastAssigned < expectedUser.LastAssigned );
            repo.Verify( a => a.Save<User>( expectedUser ) );
        }