| 12345678910111213141516171819202122232425262728293031323334 |
- from django.test import TestCase
- from decimal import Decimal as D
-
- from oscar.apps.partner import strategy
- from oscar.apps.catalogue import models
- from oscar.test import factories
-
-
- class TestDefaultStrategy(TestCase):
-
- def setUp(self):
- self.strategy = strategy.Default()
-
- def test_no_stockrecords(self):
- product = factories.create_product()
- info = self.strategy.fetch(product)
- self.assertFalse(info.availability.is_available_to_buy)
- self.assertIsNone(info.price.incl_tax)
-
- def test_one_stockrecord(self):
- product = factories.create_product(price=D('1.99'), num_in_stock=4)
- info = self.strategy.fetch(product)
- self.assertTrue(info.availability.is_available_to_buy)
- self.assertEquals(D('1.99'), info.price.excl_tax)
- self.assertEquals(D('1.99'), info.price.incl_tax)
-
- def test_product_which_doesnt_track_stock(self):
- product_class = models.ProductClass.objects.create(
- name="Digital", track_stock=False)
- product = factories.create_product(
- product_class=product_class,
- price=D('1.99'), num_in_stock=None)
- info = self.strategy.fetch(product)
- self.assertTrue(info.availability.is_available_to_buy)
|