public ActionResult Create( int constructionId, ConstructionBoltCreateRequest constructionBoltRequest) { try { var constructionBoltModel = _mapper.Map <ConstructionBolt>( constructionBoltRequest); _service.Create( constructionBoltModel, constructionId, constructionBoltRequest.DiameterId); return(Created($"construction-bolts/{constructionBoltModel.Id}", null)); } catch (ArgumentNullException) { return(NotFound()); } catch (ConflictException) { return(Conflict()); } }
public async Task Create_ShouldReturnCreated() { // Arrange int constructionId = 3; int diameterId = 1; var constructionBoltRequest = new ConstructionBoltCreateRequest { DiameterId = diameterId, Packet = 9, Num = 9, NutNum = 9, WasherNum = 9, }; string json = JsonSerializer.Serialize(constructionBoltRequest); var httpContent = new StringContent(json, Encoding.UTF8, "application/json"); var endpoint = $"/api/constructions/{constructionId}/bolts"; // Act var response = await _httpClient.PostAsync(endpoint, httpContent); // Assert Assert.Equal(HttpStatusCode.Created, response.StatusCode); }
public async Task Create_ShouldReturnNotFound_WhenWrongValues() { // Arrange int constructionId = 1; int diameterId = 3; var constructionBoltRequest = new ConstructionBoltCreateRequest { DiameterId = diameterId, Packet = 9, Num = 9, NutNum = 9, WasherNum = 9, }; var wrongConstructionBoltRequest = new ConstructionBoltCreateRequest { DiameterId = 999, Packet = 9, Num = 9, NutNum = 9, WasherNum = 9, }; string json1 = JsonSerializer.Serialize(wrongConstructionBoltRequest); string json2 = JsonSerializer.Serialize(constructionBoltRequest); var httpContent1 = new StringContent(json1, Encoding.UTF8, "application/json"); var httpContent2 = new StringContent(json2, Encoding.UTF8, "application/json"); var endpoint1 = $"/api/constructions/{constructionId}/bolts"; var endpoint2 = $"/api/constructions/{999}/bolts"; // Act var response1 = await _httpClient.PostAsync(endpoint1, httpContent1); var response2 = await _httpClient.PostAsync(endpoint2, httpContent2); // Assert Assert.Equal(HttpStatusCode.NotFound, response1.StatusCode); Assert.Equal(HttpStatusCode.NotFound, response2.StatusCode); }