예제 #1
0
        public ActionResult <MarkResponse> Create(
            int userId, [FromBody] MarkCreateRequest markRequest)
        {
            var markModel = _mapper.Map <Mark>(markRequest);

            try
            {
                _service.Create(
                    markModel,
                    userId,
                    markRequest.SubnodeId,
                    markRequest.DepartmentId,
                    markRequest.ChiefSpecialistId,
                    markRequest.GroupLeaderId,
                    markRequest.NormContrId);
            }
            catch (ArgumentNullException)
            {
                return(NotFound());
            }
            catch (ConflictException)
            {
                return(Conflict());
            }

            var markResponse = _mapper.Map <MarkResponse>(markModel);

            return(CreatedAtAction(
                       nameof(GetById), new { Id = markResponse.Id }, markResponse));
        }
예제 #2
0
        public async Task Create_ShouldReturnUnauthorized_WhenNoAccessToken()
        {
            // Arrange
            var   userId       = 1;
            short subnodeId    = 1;
            short departmentId = 1;
            var   normContrId  = 1;
            var   markRequest  = new MarkCreateRequest
            {
                SubnodeId    = subnodeId,
                Code         = "NewCreate",
                Name         = "NewCreate",
                DepartmentId = departmentId,
                NormContrId  = normContrId,
            };
            string json        = JsonSerializer.Serialize(markRequest);
            var    httpContent = new StringContent(json, Encoding.UTF8, "application/json");
            var    endpoint    = $"/api/users/{userId}/marks";

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

            // Assert
            Assert.Equal(HttpStatusCode.Unauthorized, response.StatusCode);
        }
예제 #3
0
        public async Task Create_ShouldReturnCreated()
        {
            // Arrange
            var subnodeId     = 1;
            var departmentId  = 1;
            var mainBuilderId = 1;
            var markRequest   = new MarkCreateRequest
            {
                SubnodeId     = subnodeId,
                Code          = "NewCreate",
                Name          = "NewCreate",
                DepartmentId  = departmentId,
                MainBuilderId = mainBuilderId,
            };
            string json        = JsonSerializer.Serialize(markRequest);
            var    httpContent = new StringContent(json, Encoding.UTF8, "application/json");
            var    endpoint    = $"/api/marks";

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

            // Assert
            Assert.Equal(HttpStatusCode.Created, response.StatusCode);
        }