Esempio n. 1
0
        public void Update(
            int id,
            SpecificationUpdateRequest specification)
        {
            if (specification == null)
            {
                throw new ArgumentNullException(nameof(specification));
            }
            var foundSpecification = _repository.GetById(id);

            if (foundSpecification == null)
            {
                throw new ArgumentNullException(nameof(foundSpecification));
            }

            if (specification.IsCurrent == true)
            {
                var spec = _repository.GetCurrentByMarkId(foundSpecification.Mark.Id);
                spec.IsCurrent = false;
                _repository.Update(spec);
                foundSpecification.IsCurrent = true;
            }
            if (specification.Note != null)
            {
                foundSpecification.Note = specification.Note;
            }
            _repository.Update(foundSpecification);

            var foundMark = _markRepo.GetById(foundSpecification.Mark.Id);

            foundMark.EditedDate = DateTime.Now;
            _markRepo.Update(foundMark);
        }
Esempio n. 2
0
        public void Update(SpecificationUpdateRequest model, int id, int userId)
        {
            string procName = "[dbo].[Specification_Update]";

            _data.ExecuteNonQuery(procName, inputParamMapper : delegate(SqlParameterCollection col)
            {
                col.AddWithValue("@Id", model.Id);
                col.AddWithValue("@ProductId", id);
                col.AddWithValue("@ModifiedBy", userId);

                AddCommonParams(model, col);
            },
                                  returnParameters: null);
        }
        public async Task Update_ShouldReturnNotFound_WhenWrongValues()
        {
            // Arrange
            var additionalWorkRequest = new SpecificationUpdateRequest
            {
                Note = "NewUpdate",
            };
            string json        = JsonSerializer.Serialize(additionalWorkRequest);
            var    httpContent = new StringContent(json, Encoding.UTF8, "application/json");
            var    endpoint    = $"/api/specifications/{999}";

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

            // Assert
            Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);
        }
Esempio n. 4
0
 public ActionResult Update(
     int id, [FromBody] SpecificationUpdateRequest specificationRequest)
 {
     if (!specificationRequest.Validate())
     {
         return(BadRequest());
     }
     try
     {
         _service.Update(id, specificationRequest);
     }
     catch (ArgumentNullException)
     {
         return(NotFound());
     }
     return(NoContent());
 }
        public async Task Update_ShouldReturnUnauthorized_WhenNoAccessToken()
        {
            // Arrange
            int id = 1;
            var additionalWorkRequest = new SpecificationUpdateRequest
            {
                Note = "NewUpdate",
            };
            string json        = JsonSerializer.Serialize(additionalWorkRequest);
            var    httpContent = new StringContent(json, Encoding.UTF8, "application/json");
            var    endpoint    = $"/api/specifications/{id}";

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

            // Assert
            Assert.Equal(HttpStatusCode.Unauthorized, response.StatusCode);
        }
        public void Update_ShouldFailWithNull_WhenWrongValues()
        {
            // Arrange
            int id = _rnd.Next(1, _updateSpecifications.Count());

            var newSpecificationRequest = new SpecificationUpdateRequest
            {
                Note = "NewUpdate",
            };

            // Act & Assert
            Assert.Throws <ArgumentNullException>(
                () => _updateService.Update(id, null));
            Assert.Throws <ArgumentNullException>(
                () => _updateService.Update(999, newSpecificationRequest));

            _updateRepository.Verify(
                mock => mock.Update(It.IsAny <Specification>()), Times.Never);
        }
        public void Update_ShouldUpdateSpecification()
        {
            // Arrange
            var id      = 2;
            var spec    = _updateSpecifications.SingleOrDefault(v => v.Id == id);
            var newNote = "NewUpdate";
            var newSpecificationRequest = new SpecificationUpdateRequest
            {
                IsCurrent = true,
                Note      = newNote,
            };

            // Act
            _updateService.Update(id, newSpecificationRequest);

            // Assert
            _updateRepository.Verify(
                mock => mock.Update(It.IsAny <Specification>()), Times.Exactly(2));
            Assert.Equal(newNote, _updateSpecifications.SingleOrDefault(v => v.Id == id).Note);
            Assert.Single(_updateSpecifications.Where(
                              v => v.Mark.Id == spec.Mark.Id && v.IsCurrent));
        }