public async Task DeletePlant()
        {
            await using var context = DatabaseHelper.CreateInMemoryDatabaseContext(nameof(DeletePlant));
            var plantSpecies1 = ValidObjectHelper.ValidPlantSpecies();
            await context.PlantSpecies.AddAsync(
                plantSpecies1
                );

            var validPlant = ValidObjectHelper.ValidPlant(plantSpecies1);
            await context.Plants.AddAsync(validPlant);

            await context.SaveChangesAsync();

            var id        = validPlant.Id;
            var deleteCmd = new DeletePlantCommand {
                Id = id
            };
            var deleteHandler = new DeletePlantCommandHandler(context);
            var deleteResult  = await deleteHandler.Handle(deleteCmd, CancellationToken.None);

            Assert.True(deleteResult.Success);
            Assert.Empty(context.Plants);

            var deleteResult2 = await deleteHandler.Handle(deleteCmd, CancellationToken.None);

            Assert.False(deleteResult2.Success);
        }
示例#2
0
        public async Task <ActionResult> Delete(Guid plantId)
        {
            var command = new DeletePlantCommand {
                Id = plantId
            };
            var response = await mediator.Send(command);

            if (!response.Success)
            {
                return(BadRequest(response.ErrorMessages));
            }

            return(Ok());
        }