public async Task Create_ShouldReturnNotFound_WhenWrongValues() { // Arrange int markId = 1; int employeeId = 4; var additionalWorkRequest = new AdditionalWorkCreateRequest { EmployeeId = employeeId, Valuation = 9, MetalOrder = 9, }; var wrongAdditionalWorkRequest = new AdditionalWorkCreateRequest { EmployeeId = 999, Valuation = 9, MetalOrder = 9, }; string json1 = JsonSerializer.Serialize(wrongAdditionalWorkRequest); string json2 = JsonSerializer.Serialize(additionalWorkRequest); var httpContent1 = new StringContent(json1, Encoding.UTF8, "application/json"); var httpContent2 = new StringContent(json2, Encoding.UTF8, "application/json"); var endpoint1 = $"/api/marks/{markId}/additional-work"; var endpoint2 = $"/api/marks/{999}/additional-work"; // 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); }
public async Task Create_ShouldReturnCreated() { // Arrange int markId = 1; int employeeId = 5; var additionalWorkRequest = new AdditionalWorkCreateRequest { EmployeeId = employeeId, Valuation = 9, MetalOrder = 9, }; string json = JsonSerializer.Serialize(additionalWorkRequest); var httpContent = new StringContent(json, Encoding.UTF8, "application/json"); var endpoint = $"/api/marks/{markId}/additional-work"; // Act var response = await _httpClient.PostAsync(endpoint, httpContent); // Assert Assert.Equal(HttpStatusCode.Created, response.StatusCode); }
public ActionResult Create( int markId, [FromBody] AdditionalWorkCreateRequest additionalWorkRequest) { var additionalWorkModel = _mapper.Map <AdditionalWork>( additionalWorkRequest); try { _service.Create( additionalWorkModel, markId, additionalWorkRequest.EmployeeId); } catch (ArgumentNullException) { return(NotFound()); } catch (ConflictException) { return(Conflict()); } return(Created($"additional-work/{additionalWorkModel.Id}", null)); }