from ecommerce.enterprise.benefits import BENEFIT_MAP as ENTERPRISE_BENEFIT_MAP from ecommerce.enterprise.benefits import EnterpriseAbsoluteDiscountBenefit, EnterprisePercentageDiscountBenefit from ecommerce.enterprise.conditions import AssignableEnterpriseCustomerCondition, EnterpriseCustomerCondition from ecommerce.extensions.offer.dynamic_conditional_offer import DynamicPercentageDiscountBenefit from ecommerce.extensions.offer.models import (OFFER_PRIORITY_ENTERPRISE, OFFER_PRIORITY_MANUAL_ORDER, OFFER_PRIORITY_VOUCHER, OfferAssignment) from ecommerce.extensions.order.benefits import ManualEnrollmentOrderDiscountBenefit from ecommerce.extensions.order.conditions import ManualEnrollmentOrderDiscountCondition from ecommerce.programs.benefits import AbsoluteDiscountBenefitWithoutRange, PercentageDiscountBenefitWithoutRange from ecommerce.programs.conditions import ProgramCourseRunSeatsCondition from ecommerce.programs.custom import class_path from ecommerce.tests.factories import SiteConfigurationFactory, UserFactory Benefit = get_model('offer', 'Benefit') Catalog = get_model('catalogue', 'Catalog') ConditionalOffer = get_model('offer', 'ConditionalOffer') Default = get_class('partner.strategy', 'Default') ProductClass = get_model('catalogue', 'ProductClass') Voucher = get_model('voucher', 'Voucher') OrderNumberGenerator = get_class('order.utils', 'OrderNumberGenerator') def create_basket(owner=None, site=None, empty=False, price='10.00', product_class=None): # pylint:disable=function-redefined if site is None:
from ecommerce.entitlements.utils import create_or_update_course_entitlement from ecommerce.extensions.api import exceptions from ecommerce.extensions.catalogue.tests.mixins import DiscoveryTestMixin from ecommerce.extensions.fulfillment.modules import CouponFulfillmentModule from ecommerce.extensions.fulfillment.status import LINE from ecommerce.extensions.offer.models import OFFER_PRIORITY_VOUCHER from ecommerce.extensions.test.factories import create_order, prepare_voucher from ecommerce.extensions.voucher.utils import ( create_vouchers, generate_coupon_report, get_voucher_and_products_from_code, get_voucher_discount_info, update_voucher_offer) from ecommerce.tests.factories import UserFactory from ecommerce.tests.mixins import LmsApiMockMixin from ecommerce.tests.testcases import TestCase Basket = get_model('basket', 'Basket') Benefit = get_model('offer', 'Benefit') Catalog = get_model('catalogue', 'Catalog') CouponVouchers = get_model('voucher', 'CouponVouchers') Order = get_model('order', 'Order') Product = get_model('catalogue', 'Product') ProductCategory = get_model('catalogue', 'ProductCategory') ProductClass = get_model('catalogue', 'ProductClass') StockRecord = get_model('partner', 'StockRecord') Voucher = get_model('voucher', 'Voucher') VOUCHER_CODE = "XMASC0DE" VOUCHER_CODE_LENGTH = 1 @ddt.ddt