public void TestAccountWithANewValueDoesNotSave() { AutoApproval autoApproval = null; try { #region Arrange autoApproval = GetValid(9); autoApproval.TargetUser = null; autoApproval.Account = new Account(); #endregion Arrange #region Act AutoApprovalRepository.DbContext.BeginTransaction(); AutoApprovalRepository.EnsurePersistent(autoApproval); AutoApprovalRepository.DbContext.CommitTransaction(); #endregion Act } catch (Exception ex) { Assert.IsNotNull(autoApproval); Assert.AreEqual("object references an unsaved transient instance - save the transient instance before flushing or set cascade action for the property to something that would make it autosave. Type: Purchasing.Core.Domain.Account, Entity: Purchasing.Core.Domain.Account", ex.Message); throw; } }
public void TestUserWithAValueOfNullDoesNotSave() { AutoApproval autoApproval = null; try { #region Arrange autoApproval = GetValid(9); autoApproval.User = null; #endregion Arrange #region Act AutoApprovalRepository.DbContext.BeginTransaction(); AutoApprovalRepository.EnsurePersistent(autoApproval); AutoApprovalRepository.DbContext.CommitTransaction(); #endregion Act } catch (Exception) { Assert.IsNotNull(autoApproval); Assert.AreEqual(null, autoApproval.User); var results = autoApproval.ValidationResults().AsMessageList(); results.AssertErrorsAre("The User field is required."); Assert.IsTrue(autoApproval.IsTransient()); Assert.IsFalse(autoApproval.IsValid()); throw; } }
public void TestTargetUserWithAExistingValueDoesNotSaveIfAccountIsPopulated() { AutoApproval autoApproval = null; try { #region Arrange autoApproval = GetValid(9); autoApproval.TargetUser = UserRepository.Queryable.Single(a => a.Id == "2"); autoApproval.Account = AccountRepository.Queryable.Single(a => a.Id == "3"); #endregion Arrange #region Act AutoApprovalRepository.DbContext.BeginTransaction(); AutoApprovalRepository.EnsurePersistent(autoApproval); AutoApprovalRepository.DbContext.CommitTransaction(); #endregion Act } catch (Exception) { Assert.IsNotNull(autoApproval); Assert.IsNotNull(autoApproval.User); Assert.IsNotNull(autoApproval.Account); var results = autoApproval.ValidationResults().AsMessageList(); results.AssertErrorsAre("An account OR user must be selected, not both."); Assert.IsTrue(autoApproval.IsTransient()); Assert.IsFalse(autoApproval.IsValid()); throw; } }
public void TestTargetUserWithAValueOfNullDoesNotSaveIfAccountIsNull() { AutoApproval autoApproval = null; try { #region Arrange autoApproval = GetValid(9); autoApproval.TargetUser = null; autoApproval.Account = null; #endregion Arrange #region Act AutoApprovalRepository.DbContext.BeginTransaction(); AutoApprovalRepository.EnsurePersistent(autoApproval); AutoApprovalRepository.DbContext.CommitTransaction(); #endregion Act } catch (Exception) { Assert.IsNotNull(autoApproval); Assert.AreEqual(autoApproval.TargetUser, null); Assert.AreEqual(autoApproval.Account, null); var results = autoApproval.ValidationResults().AsMessageList(); results.AssertErrorsAre("An account OR user must be selected, not both."); Assert.IsTrue(autoApproval.IsTransient()); Assert.IsFalse(autoApproval.IsValid()); throw; } }
public void TestExpirationWithNullValueWillSave() { #region Arrange var record = GetValid(99); record.Expiration = null; #endregion Arrange #region Act AutoApprovalRepository.DbContext.BeginTransaction(); AutoApprovalRepository.EnsurePersistent(record); AutoApprovalRepository.DbContext.CommitChanges(); #endregion Act #region Assert Assert.IsFalse(record.IsTransient()); Assert.IsTrue(record.IsValid()); Assert.AreEqual(null, record.Expiration); #endregion Assert }
public void TestUserWithAPopulatedValueSaves() { #region Arrange AutoApproval autoApproval = GetValid(9); autoApproval.User = UserRepository.Queryable.Single(a => a.Id == "3"); #endregion Arrange #region Act AutoApprovalRepository.DbContext.BeginTransaction(); AutoApprovalRepository.EnsurePersistent(autoApproval); AutoApprovalRepository.DbContext.CommitTransaction(); #endregion Act #region Assert Assert.AreEqual("3", autoApproval.User.Id); Assert.IsFalse(autoApproval.IsTransient()); Assert.IsTrue(autoApproval.IsValid()); #endregion Assert }
public void TestIsActiveIsTrueSaves() { #region Arrange var autoApproval = GetValid(9); autoApproval.IsActive = true; #endregion Arrange #region Act AutoApprovalRepository.DbContext.BeginTransaction(); AutoApprovalRepository.EnsurePersistent(autoApproval); AutoApprovalRepository.DbContext.CommitTransaction(); #endregion Act #region Assert Assert.IsTrue(autoApproval.IsActive); Assert.IsFalse(autoApproval.IsTransient()); Assert.IsTrue(autoApproval.IsValid()); #endregion Assert }
public void TestLessThanIsFalseSaves() { #region Arrange AutoApproval autoApproval = GetValid(9); autoApproval.LessThan = false; #endregion Arrange #region Act AutoApprovalRepository.DbContext.BeginTransaction(); AutoApprovalRepository.EnsurePersistent(autoApproval); AutoApprovalRepository.DbContext.CommitTransaction(); #endregion Act #region Assert Assert.IsFalse(autoApproval.LessThan); Assert.IsFalse(autoApproval.IsTransient()); Assert.IsTrue(autoApproval.IsValid()); #endregion Assert }
public void TestMaxAmount3() { #region Arrange var record = CreateValidEntities.AutoApproval(99); record.MaxAmount = 99999999.99m; #endregion Arrange #region Act AutoApprovalRepository.DbContext.BeginTransaction(); AutoApprovalRepository.EnsurePersistent(record); AutoApprovalRepository.DbContext.CommitTransaction(); #endregion Act #region Assert Assert.AreEqual(99999999.99m, record.MaxAmount); Assert.IsFalse(record.IsTransient()); Assert.IsTrue(record.IsValid()); #endregion Assert }
public void TestExpirationWithFutureDateDateWillSave() { #region Arrange var compareDate = DateTime.UtcNow.ToPacificTime().AddDays(15); var record = GetValid(99); record.Expiration = compareDate; #endregion Arrange #region Act AutoApprovalRepository.DbContext.BeginTransaction(); AutoApprovalRepository.EnsurePersistent(record); AutoApprovalRepository.DbContext.CommitChanges(); #endregion Act #region Assert Assert.IsFalse(record.IsTransient()); Assert.IsTrue(record.IsValid()); Assert.AreEqual(compareDate, record.Expiration); #endregion Assert }
public void TestAutoApprovalAccountIfPopulatedSaves() { #region Arrange var record = CreateValidEntities.AutoApproval(99); record.TargetUser = null; record.Account = AccountRepository.Queryable.Single(a => a.Id == "3"); #endregion Arrange #region Act AutoApprovalRepository.DbContext.BeginTransaction(); AutoApprovalRepository.EnsurePersistent(record); AutoApprovalRepository.DbContext.CommitTransaction(); #endregion Act #region Assert Assert.AreEqual("3", record.Account.Id); Assert.IsFalse(record.IsTransient()); Assert.IsTrue(record.IsValid()); #endregion Assert }