Пример #1
0
        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));
        }
Пример #2
0
        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);
        }