コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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));
        }