public async Task <ActionResult <IList <Plant> > > GetAll() { var query = new GetAllPlantsQuery(); var response = await mediator.Send(query); if (!response.Success) { return(BadRequest(response.ErrorMessages)); } var responseData = response.Data.Select(Plant.FromCore); return(Ok(responseData)); }
public async Task QueryAllPlants() { await using var context = DatabaseHelper.CreateInMemoryDatabaseContext(nameof(QueryAllPlants)); var plantSpecies1 = ValidObjectHelper.ValidPlantSpecies(); var plantSpecies2 = ValidObjectHelper.ValidPlantSpecies(); await context.PlantSpecies.AddRangeAsync(plantSpecies1, plantSpecies2); var id1 = Guid.NewGuid(); var id2 = Guid.NewGuid(); var id3 = Guid.NewGuid(); var id4 = Guid.NewGuid(); var id5 = Guid.NewGuid(); var name1 = "Hello"; var name2 = "World"; var name3 = "ab"; var name4 = "world Hello abcdefgh"; var name5 = "Töster"; var plant1 = new Plant { Id = id1, Name = name1, PlantSpeciesId = plantSpecies1.Id, PlantState = PlantState.Active }; var plant2 = new Plant { Id = id2, Name = name2, PlantSpeciesId = plantSpecies2.Id, PlantState = PlantState.Active }; var plant3 = new Plant { Id = id3, Name = name3, PlantSpeciesId = plantSpecies1.Id, PlantState = PlantState.Active }; var plant4 = new Plant { Id = id4, Name = name4, PlantSpeciesId = plantSpecies2.Id, PlantState = PlantState.Active }; var plant5 = new Plant { Id = id5, Name = name5, PlantSpeciesId = plantSpecies1.Id, PlantState = PlantState.Active }; await context.Plants.AddRangeAsync(plant1, plant2, plant3, plant4, plant5); await context.SaveChangesAsync(); var queryAll = new GetAllPlantsQuery(); var queryHandler = new GetAllPlantsQueryHandler(context); var result = await queryHandler.Handle(queryAll, CancellationToken.None); Assert.True(result.Success); Assert.Equal(5, result.Data.Count()); Assert.Contains(result.Data, dto => dto.Id.Equals(id1) && dto.Name.Equals(name1) && dto.PlantSpeciesId.Equals(plantSpecies1.Id) && dto.IsActive); Assert.Contains(result.Data, dto => dto.Id.Equals(id2) && dto.Name.Equals(name2) && dto.PlantSpeciesId.Equals(plantSpecies2.Id) && dto.IsActive); Assert.Contains(result.Data, dto => dto.Id.Equals(id3) && dto.Name.Equals(name3) && dto.PlantSpeciesId.Equals(plantSpecies1.Id) && dto.IsActive); Assert.Contains(result.Data, dto => dto.Id.Equals(id4) && dto.Name.Equals(name4) && dto.PlantSpeciesId.Equals(plantSpecies2.Id) && dto.IsActive); Assert.Contains(result.Data, dto => dto.Id.Equals(id5) && dto.Name.Equals(name5) && dto.PlantSpeciesId.Equals(plantSpecies1.Id) && dto.IsActive); }