Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/StochasticSoilModelUpdateExtensionsTest.cs =================================================================== diff -u -rb6432b2cbcb2db9bd326d9f006fb2d8b2528d263 -rbc9552772d4e6a6bd786dfcaef808da1964e8c53 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/StochasticSoilModelUpdateExtensionsTest.cs (.../StochasticSoilModelUpdateExtensionsTest.cs) (revision b6432b2cbcb2db9bd326d9f006fb2d8b2528d263) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/StochasticSoilModelUpdateExtensionsTest.cs (.../StochasticSoilModelUpdateExtensionsTest.cs) (revision bc9552772d4e6a6bd786dfcaef808da1964e8c53) @@ -36,7 +36,13 @@ var soilModel = new TestStochasticSoilModel(); // Call - TestDelegate test = () => soilModel.Update(null, new RingtoetsEntities()); + TestDelegate test = () => + { + using (var ringtoetsEntities = new RingtoetsEntities()) + { + soilModel.Update(null, ringtoetsEntities); + } + }; // Assert var paramName = Assert.Throws(test).ParamName; @@ -50,13 +56,54 @@ var soilModel = new TestStochasticSoilModel(); // Call - TestDelegate test = () => soilModel.Update(new UpdateConversionCollector(), new RingtoetsEntities()); + TestDelegate test = () => + { + using (var ringtoetsEntities = new RingtoetsEntities()) + { + soilModel.Update(new UpdateConversionCollector(), ringtoetsEntities); + } + }; // Assert - Assert.Throws(test); + var expectedMessage = String.Format("Het object 'StochasticSoilModelEntity' met id '{0}' is niet gevonden.", 0); + EntityNotFoundException exception = Assert.Throws(test); + Assert.AreEqual(expectedMessage, exception.Message); } [Test] + public void Update_ContextWithNoStochasticSoilModelWithId_EntityNotFoundException() + { + // Setup + MockRepository mocks = new MockRepository(); + var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mocks); + + mocks.ReplayAll(); + + var storageId = 1; + var soilModel = new StochasticSoilModel(-storageId, "name", "segment name") + { + StorageId = storageId, + }; + + ringtoetsEntities.StochasticSoilModelEntities.Add(new StochasticSoilModelEntity + { + StochasticSoilModelEntityId = 2, + Name = string.Empty, + SegmentName = string.Empty + }); + + // Call + TestDelegate test = () => soilModel.Update(new UpdateConversionCollector(), ringtoetsEntities); + + // Assert + var expectedMessage = String.Format("Het object 'StochasticSoilModelEntity' met id '{0}' is niet gevonden.", storageId); + EntityNotFoundException exception = Assert.Throws(test); + Assert.AreEqual(expectedMessage, exception.Message); + + mocks.VerifyAll(); + } + + [Test] public void Update_ContextWithStochasticSoilModel_PropertiesUpdated() { // Setup