public async Task ShouldGetAllContactsSortedByName() { var ben = new AddContact.Command { Email = "*****@*****.**", Name = "Ben", PhoneNumber = "555-123-0001" }; var cathy = new AddContact.Command { Email = "*****@*****.**", Name = "Cathy", PhoneNumber = "555-123-0002" }; var abe = new AddContact.Command { Email = "*****@*****.**", Name = "Abe", PhoneNumber = "555-123-0003" }; var benId = (await Send(ben)).ContactId; var cathyId = (await Send(cathy)).ContactId; var abeId = (await Send(abe)).ContactId; var expectedIds = new[] { benId, cathyId, abeId }; var query = new ContactIndex.Query(); var result = await Send(query); result.Length.ShouldBe(Count <Contact>()); result .Where(x => expectedIds.Contains(x.Id)) .ShouldMatch( new ContactIndex.ViewModel("Abe", "*****@*****.**", "555-123-0003") { Id = abeId }, new ContactIndex.ViewModel("Ben", "*****@*****.**", "555-123-0001") { Id = benId }, new ContactIndex.ViewModel("Cathy", "*****@*****.**", "555-123-0002") { Id = cathyId } ); }
public async Task <ActionResult> Index(ContactIndex.Query query) { var model = await _mediator.Send(query); return(View(model)); }