public void InvalidEntityWillTriggerDbEntityValidationExceptionOnSaveIfValidationIsEnabled() { // Arrange... var entity = new ModelWithValidation() { Field = 1, PinCode = 123 }; // Act... db.Configuration.ValidateOnSaveEnabled = true; db.ModelsWithValidation.Add(entity); Assert.Throws<DbEntityValidationException>(() => db.Save(user), "Expected a validation exception, but there was none"); }
public void ValidEntityWillSaveAndBeLoggedIfValidationIsEnabled() { // Arrange... var entity = new ModelWithValidation() { Field = 1, PinCode = 85601 }; // Act... db.Configuration.ValidateOnSaveEnabled = true; db.ModelsWithValidation.Add(entity); save(); // Assert... var changeset = lastChangeSet(); Assert.IsNotNull(changeset); Assert.AreEqual(1, changeset.ObjectChanges.Count, "Excepted one object change, but there was {0}", changeset.ObjectChanges.Count); Assert.AreNotEqual(0, entity.Id, "Entity was not assigned an id, it probably was not saved"); Assert.AreEqual(entity.Id.ToString(), changeset.ObjectChanges.First().ObjectReference, "Entity was not in the change set, but was expected"); Assert.IsTrue(changeset.ObjectChanges.First().PropertyChanges.Any(x => x.PropertyName == "PinCode"), "Entity 'PinCode' was not changed, but was expected"); }