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); }
public ActionResult Update( int markId, [FromBody] MarkOperatingConditionsUpdateRequest markOperatingConditionsRequest) { if (!markOperatingConditionsRequest.Validate()) { return(BadRequest()); } try { _service.Update(markId, markOperatingConditionsRequest); } catch (ArgumentNullException) { return(NotFound()); } return(NoContent()); }
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); }
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); }