示例#1
0
def build_submission():
    basket = factories.create_basket()
    # Ensure taxes aren't set by default
    basket.strategy = strategy.US()

    # Ensure partner has an address
    partner = basket.lines.all()[0].stockrecord.partner
    G(partner_models.PartnerAddress, partner=partner)

    shipping_address = G(models.ShippingAddress,
                         phone_number='')
    shipping_method = methods.FixedPrice(D('0.99'))
    shipping_charge = shipping_method.calculate(basket)

    calculator = calculators.OrderTotalCalculator()
    total = calculator.calculate(basket, shipping_charge)

    return {
        'user': None,
        'basket': basket,
        'shipping_address': shipping_address,
        'shipping_method': shipping_method,
        'shipping_charge': shipping_charge,
        'order_total': total,
        'order_kwargs': {},
        'payment_kwargs': {}}
def place_order(creator, **kwargs):
    """
    Helper function to place an order without the boilerplate
    """
    if 'shipping_method' not in kwargs:
        kwargs['shipping_method'] = Free()
    if 'total' not in kwargs:
        kwargs['total'] = calculators.OrderTotalCalculator().calculate(
            basket=kwargs['basket'], shipping_method=kwargs['shipping_method'])
    return creator.place_order(**kwargs)
示例#3
0
 def setUp(self):
     self.calculator = calculators.OrderTotalCalculator()