示例#1
0
        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;
            }
        }
示例#2
0
        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;
            }
        }
示例#3
0
        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;
            }
        }
示例#4
0
        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
        }
示例#5
0
        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
        }
示例#6
0
        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
        }
示例#7
0
        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
        }
示例#8
0
        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
        }