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); }
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); }