public async Task <ActionResult <PlantLogType> > Create(CreatePlantLogTypeRequest request) { var command = new CreatePlantLogTypeCommand { Id = Guid.NewGuid(), Name = request.Name }; var response = await mediator.Send(command); if (!response.Success) { return(BadRequest(response.ErrorMessages)); } var createdQuery = new GetPlantLogTypeByIdQuery { Id = command.Id }; var createdResult = await mediator.Send(createdQuery); var createdObj = PlantLogType.FromCore(createdResult.Data); return(CreatedAtRoute(nameof(PlantLogTypeController) + "/" + nameof(Get), new { plantLogTypeId = command.Id }, createdObj)); }
public async Task CreatePlantLogType() { await using var context = DatabaseHelper.CreateInMemoryDatabaseContext(nameof(CreatePlantLogType)); var validLogType = ValidObjectHelper.ValidPlantLogType(); var id = validLogType.Id; var name = validLogType.Name; var cntBefore = await context.PlantLogTypes.CountAsync(); var createCmd = new CreatePlantLogTypeCommand { Id = id, Name = name }; var cmdHandler = new CreatePlantLogTypeCommandHandler(context); var result = await cmdHandler.Handle(createCmd, CancellationToken.None); Assert.True(result.Success); Assert.Equal(cntBefore + 1, await context.PlantLogTypes.CountAsync()); var obj = await context.PlantLogTypes.FindAsync(id); Assert.Equal(id, obj.Id); Assert.Equal(name, obj.Name); }