public ViewResult MailingHistory(int id) { return View(repository.Query<MailMessage>(x => x.Sender, x => x.Receivers) .Where(x => x.Sender.Id == id || x.Receivers.Any(y => y.Id == id)) .OrderBy(x => x.Date) .ToList()); }
public void Should_ReturnSpecifiedPersonWithRelatedMailSortedByDate_WhenRequested() { // arrange var person = Builder<Person>. CreateNew(). With(x => x.Id = 7777). With(x => x.RelatedMails = Builder<MailMessage>. CreateListOfSize(10). All(). With(d => d.Date = new RandomGenerator().DateTime()). Build()). Build(); var repository = Substitute.For<IRepository>(); repository.Get<Person>(7777).Returns(person); var clientController = new ClientsController(repository); // act var viewResult = clientController.MailingHistory(7777).Model as Person; // assert for (int i = 1; i < viewResult.RelatedMails.Count; i++) Assert.That(viewResult.RelatedMails[i].Date >= viewResult.RelatedMails[i - 1].Date); }