コード例 #1
0
ファイル: test_models.py プロジェクト: vituocgia/wshop-core
    def test_transfers_vouchers_to_new_basket(self):
        baskets = [factories.BasketFactory(), factories.BasketFactory()]
        voucher = factories.VoucherFactory()
        baskets[0].vouchers.add(voucher)
        baskets[1].merge(baskets[0])

        self.assertEqual(1, baskets[1].vouchers.all().count())
コード例 #2
0
        def worker():
            order_number = threading.current_thread().name

            basket = factories.BasketFactory()
            basket.add_product(product)
            place_order(
                creator, basket=basket, order_number=order_number, user=user)
コード例 #3
0
    def test_overflow_shipping_cost_scenario_handled_correctly(self):
        basket = factories.BasketFactory()
        product_attribute_value = factories.ProductAttributeValueFactory(
            value_float=2.5)
        basket.add_product(product_attribute_value.product)

        self.standard.bands.create(upper_limit=1, charge=D('1.00'))
        self.standard.bands.create(upper_limit=2, charge=D('2.00'))
        charge = self.standard.calculate(basket)

        self.assertEqual(D('1.00') + D('2.00'), charge.excl_tax)
コード例 #4
0
    def test_simple_shipping_cost_scenario_handled_correctly(self):
        basket = factories.BasketFactory()
        product_attribute_value = factories.ProductAttributeValueFactory(
            value_float=2.5)
        basket.add_product(product_attribute_value.product)

        expected_charge = D('3.00')
        self.standard.bands.create(upper_limit=3, charge=expected_charge)
        charge = self.standard.calculate(basket)

        self.assertEqual(expected_charge, charge.excl_tax)
コード例 #5
0
ファイル: test_forms.py プロジェクト: vituocgia/wshop-core
    def test_cannot_add_a_product_without_price(self):
        basket = factories.BasketFactory()
        product = factories.create_product(price=None)

        data = {'quantity': 1}
        form = forms.AddToBasketForm(basket=basket, product=product, data=data)
        self.assertFalse(form.is_valid())
        self.assertEqual(
            form.errors['__all__'][0],
            'This product cannot be added to the basket because a price '
            'could not be determined for it.',
        )
コード例 #6
0
ファイル: test_forms.py プロジェクト: vituocgia/wshop-core
    def test_checks_if_purchase_is_permitted(self):
        basket = factories.BasketFactory()
        product = factories.ProductFactory()

        # Build a 4-level mock monster so we can force the return value of
        # whether the product is available to buy. This is a serious code smell
        # and needs to be remedied.
        info = mock.Mock()
        info.availability = mock.Mock()
        info.availability.is_purchase_permitted = mock.Mock(
            return_value=(False, "Not on your nelly!"))
        basket.strategy.fetch_for_product = mock.Mock(return_value=info)

        data = {'quantity': 1}
        form = forms.AddToBasketForm(basket=basket, product=product, data=data)
        self.assertFalse(form.is_valid())
        self.assertEqual('Not on your nelly!', form.errors['__all__'][0])