public void TestApprovalsWithANewValueDoesNotSave() { Split record = null; try { #region Arrange record = GetValid(9); record.Approvals.Add(CreateValidEntities.Approval(1)); #endregion Arrange #region Act SplitRepository.DbContext.BeginTransaction(); SplitRepository.EnsurePersistent(record); SplitRepository.DbContext.CommitTransaction(); #endregion Act } catch (Exception ex) { Assert.IsNotNull(record); 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.Approval, Entity: Purchasing.Core.Domain.Approval", ex.Message); throw; } }
public void TestSplitNewLineItemDoesNotSave() { var thisFar = false; try { #region Arrange var record = GetValid(9); record.LineItem = new LineItem(); thisFar = true; #endregion Arrange #region Act SplitRepository.DbContext.BeginTransaction(); SplitRepository.EnsurePersistent(record); SplitRepository.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.LineItem, Entity: Purchasing.Core.Domain.LineItem", ex.Message); throw; } }
public void TestProjectWithTooLongValueDoesNotSave() { Split split = null; try { #region Arrange split = GetValid(9); split.Project = "x".RepeatTimes((10 + 1)); #endregion Arrange #region Act SplitRepository.DbContext.BeginTransaction(); SplitRepository.EnsurePersistent(split); SplitRepository.DbContext.CommitTransaction(); #endregion Act } catch (Exception) { Assert.IsNotNull(split); Assert.AreEqual(10 + 1, split.Project.Length); var results = split.ValidationResults().AsMessageList(); results.AssertErrorsAre(string.Format("The field {0} must be a string with a maximum length of {1}.", "Project", "10")); Assert.IsTrue(split.IsTransient()); Assert.IsFalse(split.IsValid()); throw; } }
public void TestSplitsFieldOrderWithAValueOfNullDoesNotSave() { Split record = null; try { #region Arrange record = GetValid(9); record.Order = null; #endregion Arrange #region Act SplitRepository.DbContext.BeginTransaction(); SplitRepository.EnsurePersistent(record); SplitRepository.DbContext.CommitTransaction(); #endregion Act } catch (Exception) { Assert.IsNotNull(record); Assert.AreEqual(record.Order, null); var results = record.ValidationResults().AsMessageList(); results.AssertErrorsAre("The Order field is required."); Assert.IsTrue(record.IsTransient()); Assert.IsFalse(record.IsValid()); throw; } }
public ReportManager() { _raceRepository = new RaceRepository(); _splitRepository = new SplitRepository(); _athleteRepository = new AthleteRepository(); Races = new ObservableCollection <Race>(_raceRepository.GetAll()); }
public void TestProjectWithOneCharacterSaves() { #region Arrange var split = GetValid(9); split.Project = "x"; #endregion Arrange #region Act SplitRepository.DbContext.BeginTransaction(); SplitRepository.EnsurePersistent(split); SplitRepository.DbContext.CommitTransaction(); #endregion Act #region Assert Assert.IsFalse(split.IsTransient()); Assert.IsTrue(split.IsValid()); #endregion Assert }
public void TestSubAccountWithOneSpaceSaves() { #region Arrange var split = GetValid(9); split.SubAccount = " "; #endregion Arrange #region Act SplitRepository.DbContext.BeginTransaction(); SplitRepository.EnsurePersistent(split); SplitRepository.DbContext.CommitTransaction(); #endregion Act #region Assert Assert.IsFalse(split.IsTransient()); Assert.IsTrue(split.IsValid()); #endregion Assert }
public void TestSplitWithNullDbAccountSaves() { #region Arrange var record = GetValid(9); record.DbAccount = null; #endregion Arrange #region Act SplitRepository.DbContext.BeginTransaction(); SplitRepository.EnsurePersistent(record); SplitRepository.DbContext.CommitTransaction(); #endregion Act #region Assert Assert.AreEqual(null, record.DbAccount); Assert.IsFalse(record.IsTransient()); Assert.IsTrue(record.IsValid()); #endregion Assert }
public void TestSplitWithExistingDbAccountSaves() { #region Arrange var record = GetValid(9); record.DbAccount = AccountRepository.Queryable.Single(a => a.Id == "3"); #endregion Arrange #region Act SplitRepository.DbContext.BeginTransaction(); SplitRepository.EnsurePersistent(record); SplitRepository.DbContext.CommitTransaction(); #endregion Act #region Assert Assert.AreEqual("3", record.DbAccount.Id); Assert.IsFalse(record.IsTransient()); Assert.IsTrue(record.IsValid()); #endregion Assert }
public void TestApprovalsWithEmptyListWillSave() { #region Arrange Split record = GetValid(9); #endregion Arrange #region Act SplitRepository.DbContext.BeginTransaction(); SplitRepository.EnsurePersistent(record); SplitRepository.DbContext.CommitTransaction(); #endregion Act #region Assert Assert.IsNotNull(record.Approvals); Assert.AreEqual(0, record.Approvals.Count); Assert.IsFalse(record.IsTransient()); Assert.IsTrue(record.IsValid()); #endregion Assert }
public void TestProjectWithLongValueSaves() { #region Arrange var split = GetValid(9); split.Project = "x".RepeatTimes(10); #endregion Arrange #region Act SplitRepository.DbContext.BeginTransaction(); SplitRepository.EnsurePersistent(split); SplitRepository.DbContext.CommitTransaction(); #endregion Act #region Assert Assert.AreEqual(10, split.Project.Length); Assert.IsFalse(split.IsTransient()); Assert.IsTrue(split.IsValid()); #endregion Assert }
public void TestSplitWithExistingOrderSaves() { #region Arrange var record = GetValid(9); record.Order = Repository.OfType <Order>().Queryable.Single(a => a.Id == 3); #endregion Arrange #region Act SplitRepository.DbContext.BeginTransaction(); SplitRepository.EnsurePersistent(record); SplitRepository.DbContext.CommitTransaction(); #endregion Act #region Assert Assert.AreEqual(3, record.Order.Id); Assert.IsFalse(record.IsTransient()); Assert.IsTrue(record.IsValid()); #endregion Assert }
public void TestAmountSaves2() { #region Arrange var record = GetValid(9); record.Amount = 999999999.999m; #endregion Arrange #region Act SplitRepository.DbContext.BeginTransaction(); SplitRepository.EnsurePersistent(record); SplitRepository.DbContext.CommitTransaction(); #endregion Act #region Assert Assert.AreEqual(999999999.999m, record.Amount); Assert.IsFalse(record.IsTransient()); Assert.IsTrue(record.IsValid()); #endregion Assert }
public void TestAccountWithOneSpaceSaves() { #region Arrange AccountRepository.DbContext.BeginTransaction(); var account = CreateValidEntities.Account(1); account.SetIdTo(" "); AccountRepository.EnsurePersistent(account); var split = GetValid(9); split.Account = " "; #endregion Arrange #region Act SplitRepository.DbContext.BeginTransaction(); SplitRepository.EnsurePersistent(split); SplitRepository.DbContext.CommitTransaction(); #endregion Act #region Assert Assert.IsFalse(split.IsTransient()); Assert.IsTrue(split.IsValid()); #endregion Assert }
public void TestApprovalsWithPopulatedExistingListWillSave() { #region Arrange Split record = GetValid(9); SplitRepository.DbContext.BeginTransaction(); SplitRepository.EnsurePersistent(record); SplitRepository.DbContext.CommitTransaction(); const int addedCount = 3; var relatedRecords = new List <Approval>(); for (int i = 0; i < addedCount; i++) { relatedRecords.Add(CreateValidEntities.Approval(i + 1)); relatedRecords[i].Split = record; relatedRecords[i].User = null; relatedRecords[i].StatusCode = OrderStatusCodeRepository.Queryable.First(); relatedRecords[i].Order = Repository.OfType <Order>().Queryable.First(); Repository.OfType <Approval>().EnsurePersistent(relatedRecords[i]); } #endregion Arrange #region Act var saveId = record.Id; NHibernateSessionManager.Instance.GetSession().Evict(record); record = SplitRepository.Queryable.Single(a => a.Id == saveId); Assert.AreEqual(3, record.Approvals.Count()); SplitRepository.DbContext.BeginTransaction(); SplitRepository.EnsurePersistent(record); SplitRepository.DbContext.CommitTransaction(); #endregion Act #region Assert Assert.IsNotNull(record.Approvals); Assert.AreEqual(addedCount, record.Approvals.Count); Assert.IsFalse(record.IsTransient()); Assert.IsTrue(record.IsValid()); #endregion Assert }
public void TestAccountWithLongValueSaves() { #region Arrange AccountRepository.DbContext.BeginTransaction(); var account = CreateValidEntities.Account(1); account.SetIdTo("x".RepeatTimes(10)); AccountRepository.EnsurePersistent(account); var split = GetValid(9); split.Account = "x".RepeatTimes(10); #endregion Arrange #region Act SplitRepository.DbContext.BeginTransaction(); SplitRepository.EnsurePersistent(split); SplitRepository.DbContext.CommitTransaction(); #endregion Act #region Assert Assert.AreEqual(10, split.Account.Length); Assert.IsFalse(split.IsTransient()); Assert.IsTrue(split.IsValid()); #endregion Assert }