public void TestOrganizationWithNewValueDoesNotSave() { var thisFar = false; try { #region Arrange var record = GetValid(9); record.Organization = CreateValidEntities.Organization(99); thisFar = true; #endregion Arrange #region Act ConditionalApprovalRepository.DbContext.BeginTransaction(); ConditionalApprovalRepository.EnsurePersistent(record); ConditionalApprovalRepository.DbContext.CommitTransaction(); #endregion Act } catch (Exception ex) { Assert.IsTrue(thisFar); Assert.IsNotNull(ex); 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.Organization, Entity: Purchasing.Core.Domain.Organization", ex.Message); throw; } }
public void TestPrimaryApproverWithAValueOfNullDoesNotSave() { ConditionalApproval record = null; try { #region Arrange record = GetValid(9); record.PrimaryApprover = null; #endregion Arrange #region Act ConditionalApprovalRepository.DbContext.BeginTransaction(); ConditionalApprovalRepository.EnsurePersistent(record); ConditionalApprovalRepository.DbContext.CommitTransaction(); #endregion Act } catch (Exception) { Assert.IsNotNull(record); Assert.AreEqual(record.PrimaryApprover, null); var results = record.ValidationResults().AsMessageList(); results.AssertErrorsAre("The PrimaryApprover field is required."); Assert.IsTrue(record.IsTransient()); Assert.IsFalse(record.IsValid()); throw; } }
public void TestWorkgroupWithExistingValueSaves() { #region Arrange var workgroupRepository = new Repository <Workgroup>(); workgroupRepository.DbContext.BeginTransaction(); LoadOrganizations(3); LoadWorkgroups(3); workgroupRepository.DbContext.CommitTransaction(); var record = GetValid(9); record.Workgroup = workgroupRepository.Queryable.Single(a => a.Id == 2); #endregion Arrange #region Act ConditionalApprovalRepository.DbContext.BeginTransaction(); ConditionalApprovalRepository.EnsurePersistent(record); ConditionalApprovalRepository.DbContext.CommitTransaction(); #endregion Act #region Assert Assert.AreEqual(2, record.Workgroup.Id); Assert.IsFalse(record.IsTransient()); Assert.IsTrue(record.IsValid()); #endregion Assert }
public void TestQuestionWithSpacesOnlyDoesNotSave() { ConditionalApproval conditionalApproval = null; try { #region Arrange conditionalApproval = GetValid(9); conditionalApproval.Question = " "; #endregion Arrange #region Act ConditionalApprovalRepository.DbContext.BeginTransaction(); ConditionalApprovalRepository.EnsurePersistent(conditionalApproval); ConditionalApprovalRepository.DbContext.CommitTransaction(); #endregion Act } catch (Exception) { Assert.IsNotNull(conditionalApproval); var results = conditionalApproval.ValidationResults().AsMessageList(); results.AssertErrorsAre(string.Format("The {0} field is required.", "Question")); Assert.IsTrue(conditionalApproval.IsTransient()); Assert.IsFalse(conditionalApproval.IsValid()); throw; } }
public void TestQuestionWithOneCharacterSaves() { #region Arrange var conditionalApproval = GetValid(9); conditionalApproval.Question = "x"; #endregion Arrange #region Act ConditionalApprovalRepository.DbContext.BeginTransaction(); ConditionalApprovalRepository.EnsurePersistent(conditionalApproval); ConditionalApprovalRepository.DbContext.CommitTransaction(); #endregion Act #region Assert Assert.IsFalse(conditionalApproval.IsTransient()); Assert.IsTrue(conditionalApproval.IsValid()); #endregion Assert }
public void TestOrganizationWithNullValueSaves() { #region Arrange var record = GetValid(9); record.Organization = null; #endregion Arrange #region Act ConditionalApprovalRepository.DbContext.BeginTransaction(); ConditionalApprovalRepository.EnsurePersistent(record); ConditionalApprovalRepository.DbContext.CommitTransaction(); #endregion Act #region Assert Assert.AreEqual(null, record.Organization); Assert.IsFalse(record.IsTransient()); Assert.IsTrue(record.IsValid()); #endregion Assert }
public void TestSecondaryApproverWithExistingUserSaves() { #region Arrange var record = GetValid(9); record.SecondaryApprover = UserRepository.Queryable.Single(a => a.Id == "1"); #endregion Arrange #region Act ConditionalApprovalRepository.DbContext.BeginTransaction(); ConditionalApprovalRepository.EnsurePersistent(record); ConditionalApprovalRepository.DbContext.CommitTransaction(); #endregion Act #region Assert Assert.AreEqual("1", record.SecondaryApprover.Id); Assert.IsFalse(record.IsTransient()); Assert.IsTrue(record.IsValid()); #endregion Assert }
public void TestQuestionWithLongValueSaves() { #region Arrange var conditionalApproval = GetValid(9); conditionalApproval.Question = "x".RepeatTimes(999); #endregion Arrange #region Act ConditionalApprovalRepository.DbContext.BeginTransaction(); ConditionalApprovalRepository.EnsurePersistent(conditionalApproval); ConditionalApprovalRepository.DbContext.CommitTransaction(); #endregion Act #region Assert Assert.AreEqual(999, conditionalApproval.Question.Length); Assert.IsFalse(conditionalApproval.IsTransient()); Assert.IsTrue(conditionalApproval.IsValid()); #endregion Assert }
public void TestOrganizationWithExistingValueSaves() { #region Arrange var organizationRepository = new RepositoryWithTypedId <Organization, string>(); organizationRepository.DbContext.BeginTransaction(); LoadOrganizations(3); organizationRepository.DbContext.CommitTransaction(); var record = GetValid(9); record.Organization = organizationRepository.Queryable.Single(a => a.Id == "2"); #endregion Arrange #region Act ConditionalApprovalRepository.DbContext.BeginTransaction(); ConditionalApprovalRepository.EnsurePersistent(record); ConditionalApprovalRepository.DbContext.CommitTransaction(); #endregion Act #region Assert Assert.AreEqual("2", record.Organization.Id); Assert.IsFalse(record.IsTransient()); Assert.IsTrue(record.IsValid()); #endregion Assert }
public void TestWithNewSecondaryApproverUserDoesNotCascadeSave() { var thisFar = false; try { #region Arrange var record = GetValid(9); record.SecondaryApprover = new User("NoOne"); #endregion Arrange #region Act ConditionalApprovalRepository.DbContext.BeginTransaction(); thisFar = true; ConditionalApprovalRepository.EnsurePersistent(record); ConditionalApprovalRepository.DbContext.CommitTransaction(); #endregion Act } catch (Exception) { Assert.IsTrue(thisFar); throw; } }