public async void Sortiert_Todos_nach_Erstellzeitpunkt() { // Seed DB var optionsBuilder = new DbContextOptionsBuilder <DataContext>(); optionsBuilder.UseInMemoryDatabase("test"); var db = new DataContext(optionsBuilder.Options); var todoArt = new Data.TodoArt { Name = "ArtA" }; db.Add(todoArt); db.SaveChanges(); db.AddRange( new Data.Todo { Titel = "A", ErstellZeitpunkt = DateTimeOffset.Now, Typ = todoArt }, new Data.Todo { Titel = "B", ErstellZeitpunkt = DateTimeOffset.Now.AddHours(1), Typ = todoArt } ); db.SaveChanges(); // Handler und Request var handler = new TodosRequestHandler(new Mapper(), db); var request = new Models.Requests.AlleTodos(); // Action var result = await handler.Handle(request, CancellationToken.None); Assert.Equal(result.First().Titel, "B"); }
public async Task <IEnumerable <Models.Responses.Todo> > Handle(Models.Requests.AlleTodos request, CancellationToken cancellationToken) { var data = await this.db.Todos .Include(x => x.Typ) .OrderByDescending(x => x.ErstellZeitpunkt) .ToListAsync(); return(data.Select(x => { var f = this.mapper.CreateFrom <Models.Responses.Todo>(x); f.Art = x.Typ.Name; return f; })); }