コード例 #1
0
        public void Seed()
        {
            var mongoBus = CreateBusiness();

            mongoBus.Collection.RemoveAll();
            
            var cust = new Customer()
            {                
                FirstName = "Rick",
                LastName = "Strahl",
                Company = "West Wind",
                Address = "32 Kaiea Place\r\nPaia, HI",
            };            
            mongoBus.Save(cust);
            
            // add random customers
            for (int i = 0; i < 250; i++)
            {
                cust = new Customer()
                {
                    FirstName = StringUtils.RandomString(20),
                    LastName = StringUtils.RandomString(20),
                    Company = StringUtils.RandomString(25),
                    Updated = DateTime.Now.AddDays(i * -1)
                };                
                Assert.IsTrue(mongoBus.Save(cust), mongoBus.ErrorMessage);
            }
        }
コード例 #2
0
        public void AttachExistingTest()
        {
            string newCompany = "West Wind " + DateTime.Now;
            int custId = 1;

            var cust = new Customer()
            {
                Id = custId,
                Company = newCompany,
                FirstName = "Ricky",
                LastName = "Strahl",
                Address = "33 Kaiea Place"
            };

            using (var custBo = new busCustomer())
            {
                custBo.Attach(cust);
                Assert.IsTrue(custBo.Save(), custBo.ErrorMessage);
            }

            // load new bus/context to force load from disk
            // otherwise load loads from cached context
            using (var custBus = new busCustomer())
            {
                Customer cust2 = custBus.Load(custId);
                Assert.IsNotNull(cust2, custBus.ErrorMessage);

                Assert.AreEqual(cust2.Company,newCompany);
            }
        }
コード例 #3
0
        public void SaveFromString()
        {
            var cust = new Customer()
            {
                FirstName = "Rick (JSON)",
                LastName = "Strahl",
                Company = "West Wind",
                Address = "32 Kaiea Place\r\nPaia, HI",
            };
            var json = JsonConvert.SerializeObject(cust);
            json = json.Replace("\"Id\":", "\"_id\":");

            var bus = CreateBusiness();
            var result = bus.SaveFromJson(json);

            Assert.IsNotNull(result);
            Console.WriteLine(result);
        }
コード例 #4
0
        public void AttachExistingTest()
        {
            int custId = 0;
            Customer cust;
            DateTime time = DateTime.Now;

            using (var custBo = new busCustomer())
            {
                // grab existing customer id we can update
                custId = custBo.Context.Customers
                        .Where(c => c.LastName == "Strahl")
                        .Select( c=> c.Id)
                        .First();

                cust = new Customer()
                {
                    Id = custId,
                    FirstName = "Ricky",
                    LastName = "Strahl",
                    Company = "West Wind",
                    Entered = time,
                    Address = "31 Kaiea Place"
                };

                custBo.Attach(cust);
                Assert.IsTrue(custBo.Save(), custBo.ErrorMessage);
            }

            using (var custBo2 = new busCustomer())
            {

                // load new bus/context to force load from disk
                // otherwise load loads from cached context
                Customer cust2 = custBo2.Load(custId);
                Assert.IsNotNull(cust2, custBo2.ErrorMessage);

                Assert.IsTrue(cust2.Entered.ToString() == cust.Entered.ToString());
            }
        }
コード例 #5
0
        public void AttachNewTest()
        {
            var cust = new Customer()
            {
                Company = "East Wind Technologies",
                FirstName = "Jimmy",
                LastName = "Ropain",
            };

            using (var custBus = new busCustomer())
            {
                custBus.Attach(cust, true);
                Assert.IsTrue(custBus.Save(), custBus.ErrorMessage);
            }

            int custId = cust.Id;

            // load new bus/context to force load from disk
            // otherwise load loads from cached context
            using (var custBus = new busCustomer())
            {
                Customer cust2 = custBus.Load(custId);
                Assert.IsNotNull(cust2, custBus.ErrorMessage);

                Assert.AreEqual(cust.Company, cust2.Company);

                Assert.IsTrue(custBus.Delete(custId), custBus.ErrorMessage);
            }

            Console.WriteLine(custId);
        }
コード例 #6
0
        public void NewEntityAlternateTest()
        {
            int custId = 0;
            using (var custBus = new busCustomer())
            {
                var cust = new Customer()
                {
                    FirstName = "John",
                    LastName = "Farrow",
                    Company = "Faraway Travel",
                    LastOrder = DateTime.Now
                };

                // Attach cust to Context and fire
                // NewEntity hooks
                custBus.NewEntity(cust);

                Assert.IsTrue(custBus.Save(), custBus.ErrorMessage);

                // cust.Id is updated after save operation
                custId = cust.Id;

                // Use a new bus object/context to force
                // reload from disk - existing context loads from memory
                // which doesn't test properly
                using (var custBus2 = new busCustomer())
                {
                    // load and compare
                    var cust2 = custBus2.Load(custId);
                    Assert.AreEqual(cust2.Company, cust.Company);
                    // Remove the new record
                    Assert.IsTrue(custBus2.Delete(custId), custBus2.ErrorMessage);
                }

            }
        }
コード例 #7
0
        public void FailedValidationTest()
        {
            var customerBus = new busCustomer();

            var custExisting = customerBus.Load(1);

            var cust = new Customer()
            {
                // create dupe values which should fail validation
                FirstName = custExisting.FirstName,
                LastName = custExisting.LastName,
                Company = custExisting.Company
            };
            cust = customerBus.NewEntity(cust);

            Assert.IsFalse(customerBus.Validate());
            Assert.IsFalse(string.IsNullOrEmpty(customerBus.ErrorMessage));
            Console.WriteLine("Validation Failed (test passed): " + customerBus.ErrorMessage);
        }
コード例 #8
0
        public void FailedValidationAutoValidateTest()
        {
            var customerBus = new busCustomer()
            {
                // Validates on Save automatically
                AutoValidate = true
            };

            var custExisting = customerBus.Load(1);

            var cust = new Customer()
            {
                // create dupe values which should fail validation
                FirstName = custExisting.FirstName,
                LastName = custExisting.LastName,
                Company = custExisting.Company
            };
            cust = customerBus.NewEntity(cust);

            Assert.IsFalse(customerBus.Save());
            Assert.IsFalse(string.IsNullOrEmpty(customerBus.ErrorMessage));
            Console.WriteLine("Validation Failed (test passed): " + customerBus.ErrorMessage);
            Console.WriteLine("Exception: " + customerBus.ErrorException.Message + " " + customerBus.ErrorException);
        }
コード例 #9
0
        public void SaveFromJsonString()
        {
            var bus = CreateBusiness();

            var cust = new Customer()
            {
                FirstName = "Rick (JSON)",
                LastName = "Strahl",
                Company = "West Wind",
                Address = "32 Kaiea Place\r\nPaia, HI",
                Entered = DateTime.Now
            };
            var json = JsonConvert.SerializeObject(cust);
            

            Console.WriteLine(json);

            
            var result = bus.SaveFromJson(json);

            Assert.IsNotNull(result,bus.ErrorMessage);
            Console.WriteLine(result);
        }