public async Task Create_ShouldReturnCreated()
        {
            // Arrange
            int   specificationId     = 1;
            short typeId              = 1;
            short weldingControlId    = 1;
            var   constructionRequest = new ConstructionCreateRequest
            {
                Name                       = "NewCreate",
                TypeId                     = typeId,
                Valuation                  = "NewCreate",
                StandardAlbumCode          = "NewCreate",
                NumOfStandardConstructions = 1,
                HasEdgeBlunting            = false,
                HasDynamicLoad             = false,
                HasFlangedConnections      = false,
                WeldingControlId           = weldingControlId,
                PaintworkCoeff             = 1.0f,
            };
            string json        = JsonSerializer.Serialize(constructionRequest);
            var    httpContent = new StringContent(json, Encoding.UTF8, "application/json");
            var    endpoint    = $"/api/specifications/{specificationId}/constructions";

            // Act
            var response = await _httpClient.PostAsync(endpoint, httpContent);

            // Assert
            Assert.Equal(HttpStatusCode.Created, response.StatusCode);
        }
示例#2
0
        public ActionResult Create(
            int specificationId,
            [FromBody] ConstructionCreateRequest constructionRequest)
        {
            var constructionModel = _mapper.Map <Construction>(constructionRequest);

            try
            {
                _service.Create(
                    constructionModel,
                    specificationId,
                    constructionRequest.TypeId,
                    constructionRequest.SubtypeId,
                    constructionRequest.WeldingControlId);
            }
            catch (ArgumentNullException)
            {
                return(NotFound());
            }
            catch (ConflictException)
            {
                return(Conflict());
            }
            return(Created($"constructions/{constructionModel.Id}", null));
        }