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)
def setUp(self): self.calculator = calculators.OrderTotalCalculator()