public void TestCustomFieldsFieldOrganizationWithAValueOfNullDoesNotSave() { CustomField record = null; try { #region Arrange record = GetValid(9); record.Organization = null; #endregion Arrange #region Act CustomFieldRepository.DbContext.BeginTransaction(); CustomFieldRepository.EnsurePersistent(record); CustomFieldRepository.DbContext.CommitTransaction(); #endregion Act } catch (Exception) { Assert.IsNotNull(record); Assert.AreEqual(record.Organization, null); var results = record.ValidationResults().AsMessageList(); results.AssertErrorsAre("The Organization field is required."); Assert.IsTrue(record.IsTransient()); Assert.IsFalse(record.IsValid()); throw; } }
public void TestCustomFieldNewOrganizationDoesNotSave() { var thisFar = false; try { #region Arrange var record = GetValid(9); record.Organization = new Organization(); thisFar = true; #endregion Arrange #region Act CustomFieldRepository.DbContext.BeginTransaction(); CustomFieldRepository.EnsurePersistent(record); CustomFieldRepository.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 TestNameWithSpacesOnlyDoesNotSave() { CustomField customField = null; try { #region Arrange customField = GetValid(9); customField.Name = " "; #endregion Arrange #region Act CustomFieldRepository.DbContext.BeginTransaction(); CustomFieldRepository.EnsurePersistent(customField); CustomFieldRepository.DbContext.CommitTransaction(); #endregion Act } catch (Exception) { Assert.IsNotNull(customField); var results = customField.ValidationResults().AsMessageList(); results.AssertErrorsAre(string.Format("The {0} field is required.", "Name")); Assert.IsTrue(customField.IsTransient()); Assert.IsFalse(customField.IsValid()); throw; } }
public void TestNameWithOneCharacterSaves() { #region Arrange var customField = GetValid(9); customField.Name = "x"; #endregion Arrange #region Act CustomFieldRepository.DbContext.BeginTransaction(); CustomFieldRepository.EnsurePersistent(customField); CustomFieldRepository.DbContext.CommitTransaction(); #endregion Act #region Assert Assert.IsFalse(customField.IsTransient()); Assert.IsTrue(customField.IsValid()); #endregion Assert }
public void TestCustomFieldWithExistingOrganizationSaves() { #region Arrange var record = GetValid(9); record.Organization = OrganizationRepository.Queryable.Single(a => a.Id == "3"); #endregion Arrange #region Act CustomFieldRepository.DbContext.BeginTransaction(); CustomFieldRepository.EnsurePersistent(record); CustomFieldRepository.DbContext.CommitTransaction(); #endregion Act #region Assert Assert.AreEqual("3", record.Organization.Id); Assert.IsFalse(record.IsTransient()); Assert.IsTrue(record.IsValid()); #endregion Assert }
public void TestIsRequiredIsTrueSaves() { #region Arrange var customField = GetValid(9); customField.IsRequired = true; #endregion Arrange #region Act CustomFieldRepository.DbContext.BeginTransaction(); CustomFieldRepository.EnsurePersistent(customField); CustomFieldRepository.DbContext.CommitTransaction(); #endregion Act #region Assert Assert.IsTrue(customField.IsRequired); Assert.IsFalse(customField.IsTransient()); Assert.IsTrue(customField.IsValid()); #endregion Assert }
public void TestRankWithMinIntValueSaves() { #region Arrange var record = GetValid(9); record.Rank = int.MinValue; #endregion Arrange #region Act CustomFieldRepository.DbContext.BeginTransaction(); CustomFieldRepository.EnsurePersistent(record); CustomFieldRepository.DbContext.CommitTransaction(); #endregion Act #region Assert Assert.AreEqual(int.MinValue, record.Rank); Assert.IsFalse(record.IsTransient()); Assert.IsTrue(record.IsValid()); #endregion Assert }
public void TestNameWithLongValueSaves() { #region Arrange var customField = GetValid(9); customField.Name = "x".RepeatTimes(999); #endregion Arrange #region Act CustomFieldRepository.DbContext.BeginTransaction(); CustomFieldRepository.EnsurePersistent(customField); CustomFieldRepository.DbContext.CommitTransaction(); #endregion Act #region Assert Assert.AreEqual(999, customField.Name.Length); Assert.IsFalse(customField.IsTransient()); Assert.IsTrue(customField.IsValid()); #endregion Assert }