Esempio n. 1
0
        public void GetDiscountCodeTest()
        {
            FinanceBL financeBL = new FinanceBL(DataContext);

            DiscountCode userDiscount = new DiscountCodeMock(DataContext).GetDiscountCode("DisCode60", 60.00M, 5, 5);

            DataContext.DiscountCodes.AddObject(userDiscount);
            financeBL.SaveChanges();

            DiscountCode discountDB = financeBL.GetDiscountCode("DisCode60");

            Assert.AreEqual(userDiscount, discountDB);
        }
Esempio n. 2
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);
        }
Esempio n. 3
0
        public void AddDiscountCodeUsageBySBAdminTest()
        {
            FinanceBL         financeBL         = new FinanceBL(DataContext);
            DiscountCodeUsage discountCodeUsage = new DiscountCodeUsageMock(DataContext).GetDiscountCodeUsage(true, null);

            // SB admin apply discount code.
            financeBL.AddDiscountCodeUsageBySBAdmin(discountCodeUsage, 0);
            int companyId = discountCodeUsage.CompanyId;

            DiscountCodeUsage discountCodeUsageDB = financeBL.GetLatestDiscountCodeUsage(companyId);

            Assert.IsNotNull(discountCodeUsageDB);
            Assert.AreEqual(discountCodeUsage, discountCodeUsageDB);

            // User replace discount code.
            DiscountCode userDiscount = new DiscountCodeMock(DataContext).GetDiscountCode("DisCode60", 60.00M, 5, 5);

            DataContext.DiscountCodes.AddObject(userDiscount);

            financeBL.SaveDiscountCodeUsageToCompany(userDiscount, 0, companyId);
            financeBL.SaveChanges();

            discountCodeUsageDB = financeBL.GetLatestDiscountCodeUsage(companyId);
            Assert.IsNotNull(discountCodeUsageDB);
            Assert.AreEqual(userDiscount, discountCodeUsageDB.DiscountCode);

            // SB admin apply discount code again
            DiscountCodeUsage discountCodeUsageNew = new DiscountCodeUsageMock(DataContext).GetDiscountCodeUsage(true, companyId);

            financeBL.AddDiscountCodeUsageBySBAdmin(discountCodeUsageNew, 0);

            discountCodeUsageDB = financeBL.GetLatestDiscountCodeUsage(companyId);
            Assert.IsNotNull(discountCodeUsageDB);
            Assert.AreEqual(discountCodeUsageNew, discountCodeUsageDB);
            Assert.AreNotEqual(discountCodeUsage, discountCodeUsageNew);
        }