public void TestGetVendorAddressesReturnsExpectedResults3() { #region Arrange new FakeVendors(5, VendorRepository); var vendorAddresses = new List <VendorAddress>(); for (int i = 0; i < 5; i++) { vendorAddresses.Add(CreateValidEntities.VendorAddress(i + 1)); if (i < 3) { vendorAddresses[i].Vendor = VendorRepository.GetNullableById("1"); } else { vendorAddresses[i].Vendor = VendorRepository.GetNullableById((i + 1).ToString()); } } new FakeVendorAddresses(0, VendorAddressRepository, vendorAddresses, false); #endregion Arrange #region Act var result = Controller.GetVendorAddresses("5") .AssertResultIs <JsonNetResult>(); #endregion Act #region Assert Assert.IsNotNull(result); Assert.AreEqual("[{\"TypeCode\":\"tc5\",\"Name\":\"(tc5) Line15, City5, XX 12345, AA\"}]", result.JsonResultString); #endregion Assert }
public void TestVendorCascadesUpdateToVendorAddress2() { #region Arrange var count = VendorAddressRepository.Queryable.Count(); Vendor record = GetValid(9); VendorRepository.DbContext.BeginTransaction(); VendorRepository.EnsurePersistent(record); VendorRepository.DbContext.CommitTransaction(); const int addedCount = 3; var relatedRecords = new List <VendorAddress>(); for (int i = 0; i < addedCount; i++) { relatedRecords.Add(CreateValidEntities.VendorAddress(i + 1)); relatedRecords[i].Vendor = record; relatedRecords[i].SetIdTo(Guid.NewGuid()); VendorAddressRepository.EnsurePersistent(relatedRecords[i]); } foreach (var relatedRecord in relatedRecords) { record.VendorAddresses.Add(relatedRecord); } VendorRepository.DbContext.BeginTransaction(); VendorRepository.EnsurePersistent(record); VendorRepository.DbContext.CommitTransaction(); var saveId = record.Id; var saveRelatedId = record.VendorAddresses[1].Id; NHibernateSessionManager.Instance.GetSession().Evict(record); foreach (var relatedRecord in relatedRecords) { NHibernateSessionManager.Instance.GetSession().Evict(relatedRecord); } #endregion Arrange #region Act record = VendorRepository.GetNullableById(saveId); record.VendorAddresses[1].Name = "Updated"; VendorRepository.DbContext.BeginTransaction(); VendorRepository.EnsurePersistent(record); VendorRepository.DbContext.CommitTransaction(); NHibernateSessionManager.Instance.GetSession().Evict(record); foreach (var relatedRecord in relatedRecords) { NHibernateSessionManager.Instance.GetSession().Evict(relatedRecord); } #endregion Act #region Assert Assert.AreEqual(count + addedCount, VendorAddressRepository.Queryable.Count()); var relatedRecord2 = VendorAddressRepository.GetNullableById(saveRelatedId); Assert.IsNotNull(relatedRecord2); Assert.AreEqual("Updated", relatedRecord2.Name); #endregion Assert }