Пример #1
0
        public void Update_ShouldFailWithNull_WhenWrongValues()
        {
            // Arrange
            int markId = 1;

            var markOperatingConditionsRequest = new MarkOperatingConditionsUpdateRequest
            {
                SafetyCoeff = 2.0f,
            };
            var wrongMarkOperatingConditionsRequest1 = new MarkOperatingConditionsUpdateRequest
            {
                EnvAggressivenessId = 999,
            };
            var wrongMarkOperatingConditionsRequest2 = new MarkOperatingConditionsUpdateRequest
            {
                OperatingAreaId = 999,
            };
            var wrongMarkOperatingConditionsRequest3 = new MarkOperatingConditionsUpdateRequest
            {
                GasGroupId = 999,
            };
            var wrongMarkOperatingConditionsRequest4 = new MarkOperatingConditionsUpdateRequest
            {
                ConstructionMaterialId = 999,
            };
            var wrongMarkOperatingConditionsRequest5 = new MarkOperatingConditionsUpdateRequest
            {
                PaintworkTypeId = 999,
            };
            var wrongMarkOperatingConditionsRequest6 = new MarkOperatingConditionsUpdateRequest
            {
                HighTensileBoltsTypeId = 999,
            };

            // Act & Assert
            Assert.Throws <ArgumentNullException>(() => _service.Update(markId, null));
            Assert.Throws <ArgumentNullException>(() => _service.Update(
                                                      999,
                                                      markOperatingConditionsRequest));
            Assert.Throws <ArgumentNullException>(() => _service.Update(
                                                      markId,
                                                      wrongMarkOperatingConditionsRequest1));
            Assert.Throws <ArgumentNullException>(() => _service.Update(
                                                      markId,
                                                      wrongMarkOperatingConditionsRequest2));
            Assert.Throws <ArgumentNullException>(() => _service.Update(
                                                      markId,
                                                      wrongMarkOperatingConditionsRequest3));
            Assert.Throws <ArgumentNullException>(() => _service.Update(
                                                      markId,
                                                      wrongMarkOperatingConditionsRequest4));
            Assert.Throws <ArgumentNullException>(() => _service.Update(
                                                      markId,
                                                      wrongMarkOperatingConditionsRequest5));
            Assert.Throws <ArgumentNullException>(() => _service.Update(
                                                      markId,
                                                      wrongMarkOperatingConditionsRequest6));

            _repository.Verify(mock => mock.Update(It.IsAny <MarkOperatingConditions>()), Times.Never);
        }
Пример #2
0
 public ActionResult Update(
     int markId,
     [FromBody] MarkOperatingConditionsUpdateRequest markOperatingConditionsRequest)
 {
     if (!markOperatingConditionsRequest.Validate())
     {
         return(BadRequest());
     }
     try
     {
         _service.Update(markId, markOperatingConditionsRequest);
     }
     catch (ArgumentNullException)
     {
         return(NotFound());
     }
     return(NoContent());
 }
Пример #3
0
        public void Update_ShouldUpdateMarkOperatingConditions()
        {
            // Arrange
            int markId = 1;
            int envAggressivenessId    = _rnd.Next(1, TestData.envAggressiveness.Count());
            int operatingAreaId        = _rnd.Next(1, TestData.operatingAreas.Count());
            int gasGroupId             = _rnd.Next(1, TestData.gasGroups.Count());
            int constructionMaterialId = _rnd.Next(1, TestData.constructionMaterials.Count());
            int paintworkTypeId        = _rnd.Next(1, TestData.paintworkTypes.Count());
            int highTensileBoltsTypeId = _rnd.Next(1, TestData.highTensileBoltsTypes.Count());

            var markOperatingConditionsRequest = new MarkOperatingConditionsUpdateRequest
            {
                SafetyCoeff            = 2.0f,
                Temperature            = -40,
                EnvAggressivenessId    = envAggressivenessId,
                OperatingAreaId        = operatingAreaId,
                GasGroupId             = gasGroupId,
                ConstructionMaterialId = constructionMaterialId,
                PaintworkTypeId        = paintworkTypeId,
                HighTensileBoltsTypeId = highTensileBoltsTypeId,
            };

            // Act
            _service.Update(markId,
                            markOperatingConditionsRequest);

            // Assert
            _repository.Verify(mock => mock.Update(It.IsAny <MarkOperatingConditions>()), Times.Once);
            Assert.Equal(envAggressivenessId, _markOperatingConditions.SingleOrDefault(
                             v => v.Mark.Id == markId).EnvAggressiveness.Id);
            Assert.Equal(operatingAreaId, _markOperatingConditions.SingleOrDefault(
                             v => v.Mark.Id == markId).OperatingArea.Id);
            Assert.Equal(gasGroupId, _markOperatingConditions.SingleOrDefault(
                             v => v.Mark.Id == markId).GasGroup.Id);
            Assert.Equal(constructionMaterialId, _markOperatingConditions.SingleOrDefault(
                             v => v.Mark.Id == markId).ConstructionMaterial.Id);
            Assert.Equal(paintworkTypeId, _markOperatingConditions.SingleOrDefault(
                             v => v.Mark.Id == markId).PaintworkType.Id);
            Assert.Equal(highTensileBoltsTypeId, _markOperatingConditions.SingleOrDefault(
                             v => v.Mark.Id == markId).HighTensileBoltsType.Id);
        }
Пример #4
0
        public void Update(
            int markId,
            MarkOperatingConditionsUpdateRequest markOperatingConditions)
        {
            if (markOperatingConditions == null)
            {
                throw new ArgumentNullException(nameof(markOperatingConditions));
            }
            var foundMarkOperatingConditions = _repository.GetByMarkId(markId);

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

            if (markOperatingConditions.SafetyCoeff != null)
            {
                foundMarkOperatingConditions.SafetyCoeff = markOperatingConditions.SafetyCoeff.GetValueOrDefault();
            }
            if (markOperatingConditions.Temperature != null)
            {
                foundMarkOperatingConditions.Temperature = markOperatingConditions.Temperature.GetValueOrDefault();
            }

            if (markOperatingConditions.EnvAggressivenessId != null)
            {
                var envAggressiveness = _envAggressivenessRepo.GetById(
                    markOperatingConditions.EnvAggressivenessId.GetValueOrDefault());
                if (envAggressiveness == null)
                {
                    throw new ArgumentNullException(nameof(envAggressiveness));
                }
                foundMarkOperatingConditions.EnvAggressiveness = envAggressiveness;
            }
            if (markOperatingConditions.OperatingAreaId != null)
            {
                var operatingArea = _operatingAreaRepo.GetById(
                    markOperatingConditions.OperatingAreaId.GetValueOrDefault());
                if (operatingArea == null)
                {
                    throw new ArgumentNullException(nameof(operatingArea));
                }
                foundMarkOperatingConditions.OperatingArea = operatingArea;
            }
            if (markOperatingConditions.GasGroupId != null)
            {
                var gasGroup = _gasGroupRepo.GetById(
                    markOperatingConditions.GasGroupId.GetValueOrDefault());
                if (gasGroup == null)
                {
                    throw new ArgumentNullException(nameof(gasGroup));
                }
                foundMarkOperatingConditions.GasGroup = gasGroup;
            }
            if (markOperatingConditions.ConstructionMaterialId != null)
            {
                var constructionMaterial = _constructionMaterialRepo.GetById(
                    markOperatingConditions.ConstructionMaterialId.GetValueOrDefault());
                if (constructionMaterial == null)
                {
                    throw new ArgumentNullException(nameof(constructionMaterial));
                }
                foundMarkOperatingConditions.ConstructionMaterial = constructionMaterial;
            }
            if (markOperatingConditions.PaintworkTypeId != null)
            {
                var paintworkType = _paintworkTypeRepo.GetById
                                        (markOperatingConditions.PaintworkTypeId.GetValueOrDefault());
                if (paintworkType == null)
                {
                    throw new ArgumentNullException(nameof(paintworkType));
                }
                foundMarkOperatingConditions.PaintworkType = paintworkType;
            }
            if (markOperatingConditions.HighTensileBoltsTypeId != null)
            {
                var highTensileBoltsType = _highTensileBoltsTypeRepo.GetById(
                    markOperatingConditions.HighTensileBoltsTypeId.GetValueOrDefault());
                if (highTensileBoltsType == null)
                {
                    throw new ArgumentNullException(nameof(highTensileBoltsType));
                }
                foundMarkOperatingConditions.HighTensileBoltsType = highTensileBoltsType;
            }
            _repository.Update(foundMarkOperatingConditions);

            var foundMark = _markRepo.GetById(markId);

            foundMark.EditedDate = DateTime.Now;
            _markRepo.Update(foundMark);
        }