Esempio n. 1
0
        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);
        }