public async Task UpdatePlantSpecies() { await using var context = DatabaseHelper.CreateInMemoryDatabaseContext(nameof(UpdatePlantSpecies)); var id = Guid.NewGuid(); await context.PlantSpecies.AddAsync(new PlantSpecies { Id = id, Name = "Something old" }); await context.SaveChangesAsync(); var name = "Species1"; var cntBefore = await context.PlantSpecies.CountAsync(); var updateCmd = new UpdatePlantSpeciesCommand { Id = id, Name = name }; var cmdHandler = new UpdatePlantSpeciesCommandHandler(context); var result = await cmdHandler.Handle(updateCmd, CancellationToken.None); Assert.True(result.Success); Assert.Equal(cntBefore, await context.PlantSpecies.CountAsync()); var obj = await context.PlantSpecies.FindAsync(id); Assert.Equal(id, obj.Id); Assert.Equal(name, obj.Name); var updateInvalidPlantSpecies = new UpdatePlantSpeciesCommand { Id = Guid.NewGuid(), Name = "hehe" }; var resultInvalidPlantSpecies = await cmdHandler.Handle(updateInvalidPlantSpecies, CancellationToken.None); Assert.False(resultInvalidPlantSpecies.Success); }
public async Task <ActionResult <PlantSpecies> > Update(Guid speciesId, UpdatePlantSpeciesRequest request) { var command = new UpdatePlantSpeciesCommand { Id = speciesId, Name = request.Name }; var response = await mediator.Send(command); if (!response.Success) { return(BadRequest(response.ErrorMessages)); } var updatedQuery = new GetPlantSpeciesByIdQuery { Id = command.Id }; var updatedResult = await mediator.Send(updatedQuery); var updatedObj = PlantSpecies.FromCore(updatedResult.Data); return(Ok(updatedObj)); }