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");
        }
Beispiel #2
0
        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;
            }));
        }