Exemplo n.º 1
0
        public async Task CreateAsync_Should_Create_A_New_Message()
        {
            using (var context = new WarblerDbContext(Options))
            {
                var repo    = new SqlMessageRepository(context);
                var test    = new MessageService(repo);
                var message = await test.CreateAsync("Hello", Bob, General);

                Assert.AreEqual(1, context.Messages.Count());
                Assert.IsNotNull(message);
                Assert.AreEqual("Hello", message.Text);
                Assert.AreEqual(Bob.Id, message.UserId);
                Assert.AreEqual(General.Id, message.ChannelId);
            }
        }
Exemplo n.º 2
0
        public async Task LatestIn_Should_Return_Messages_In_Reverse_Chronological_Order()
        {
            using (var context = new WarblerDbContext(Options))
            {
                var repo = new SqlMessageRepository(context);

                await repo.CreateAsync("foo", Bob, General);

                await repo.CreateAsync("bar", Bob, General);
            }

            using (var context = new WarblerDbContext(Options))
            {
                var repo         = new SqlMessageRepository(context);
                var messages     = repo.LatestIn(General);
                var firstMessage = messages.First().Result;
                var lastMessage  = messages.Last().Result;

                Assert.AreEqual("bar", lastMessage.Text);
                Assert.AreEqual("foo", firstMessage.Text);
                Assert.IsTrue(lastMessage.SendDate > firstMessage.SendDate);
            }
        }