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); } }
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); } }