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
        }
Example #2
0
        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
        }