示例#1
0
        public void GetDiscountCodeUsagesTest()
        {
            FinanceBL financeBL = new FinanceBL(DataContext);

            // Create 3 companies
            CompanyMock companyMock = new CompanyMock(DataContext);
            Company     company1    = companyMock.GetCompany();
            Company     company2    = companyMock.GetCompany();
            Company     company3    = companyMock.GetCompany();

            // Create 2 discount codes
            DiscountCode discount1 = new DiscountCodeMock(DataContext).GetDiscountCode("DisCode1", 60.00M, 5, 5);
            DiscountCode discount2 = new DiscountCodeMock(DataContext).GetDiscountCode("DisCode2", 50.00M, 5, 5);

            DataContext.DiscountCodes.AddObject(discount1);
            DataContext.DiscountCodes.AddObject(discount2);
            DataContext.SaveChanges();

            // Apply discount codes to compnies
            financeBL.SaveDiscountCodeUsageToCompany(discount1, 0, company1.CompanyId);
            DataContext.SaveChanges();
            financeBL.SaveDiscountCodeUsageToCompany(discount1, 0, company2.CompanyId);
            DataContext.SaveChanges();
            financeBL.SaveDiscountCodeUsageToCompany(discount2, 0, company2.CompanyId);
            DataContext.SaveChanges();
            financeBL.SaveDiscountCodeUsageToCompany(discount2, 0, company3.CompanyId);
            DataContext.SaveChanges();

            // Get Counts
            List <DiscountCodeUsage> dis1UsageWithInActive    = financeBL.GetDiscountCodeUsages(discount1.DiscountCodeID, true);
            List <DiscountCodeUsage> dis1UsageWithOutInActive = financeBL.GetDiscountCodeUsages(discount1.DiscountCodeID, false);
            List <DiscountCodeUsage> dis2UsageWithInActive    = financeBL.GetDiscountCodeUsages(discount2.DiscountCodeID, true);
            List <DiscountCodeUsage> dis2UsageWithOutInActive = financeBL.GetDiscountCodeUsages(discount2.DiscountCodeID, false);

            // Validate
            Assert.IsTrue(dis1UsageWithInActive.Count == 2);
            Assert.IsTrue(dis1UsageWithOutInActive.Count == 1);
            Assert.IsTrue(dis2UsageWithInActive.Count == 2);
            Assert.IsTrue(dis2UsageWithOutInActive.Count == 2);
        }