diff --git a/api/lib/prices.py b/api/lib/prices.py index 67f5e1e..f3eb88a 100644 --- a/api/lib/prices.py +++ b/api/lib/prices.py @@ -83,12 +83,12 @@ def canvas_cm2_price(cm2): def package_price(product_group, width, height, market): if market.territory in ['US', 'EU']: if product_group == 'canvas' and max(width, height) > 119: - return 800 + return 100 elif product_group == 'poster': if width > 110: - return 1100 - else: return 400 + else: + return 250 return 0 diff --git a/tests/lib/test_prices.py b/tests/lib/test_prices.py index 650e499..4b2e739 100644 --- a/tests/lib/test_prices.py +++ b/tests/lib/test_prices.py @@ -26,6 +26,10 @@ nl = market.from_territory('NL') nl.price_adjustments = 1.15 nl.exchange_rate = 0.100000 +eu = market.from_territory('EU') +eu.price_adjustments = 1.13 +eu.exchange_rate = 0.100000 + russia = market.from_territory('RU') russia.price_adjustments = 1 russia.exchange_rate = 0.100000 # russia uses EUR @@ -135,7 +139,7 @@ class TestPrice(unittest2.TestCase): self.assertEqual(1800, canvas_price(width=150, height=150, market=sweden, framed=True, inc_vat=True)) - self.assertEqual(279, canvas_price(width=150, height=150, + self.assertEqual(195, canvas_price(width=150, height=150, market=us, framed=True, inc_vat=True)) self.assertEqual(672, canvas_price( @@ -147,7 +151,10 @@ class TestPrice(unittest2.TestCase): self.assertEqual(462, canvas_price(width=50, height=50, market=denmark, framed=True, inc_vat=False)) - self.assertEqual(257, canvas_price(width=150, height=100, market=us, designer=designer_moomin, inc_vat=False)) + self.assertEqual(174, canvas_price(width=150, height=100, market=us, designer=designer_moomin, inc_vat=False)) + self.assertEqual(174, canvas_price(width=150, height=100, market=us, designer=designer_moomin, inc_vat=True)) + self.assertEqual(154, canvas_price(width=150, height=100, market=eu, designer=designer_moomin, inc_vat=False)) + self.assertEqual(192, canvas_price(width=150, height=100, market=eu, designer=designer_moomin, inc_vat=True)) def test_canvas_frame_price(self): self.assertEqual(624, canvas_frame_price( @@ -162,7 +169,7 @@ class TestPrice(unittest2.TestCase): 1, 1, market=sweden, inc_vat=False)) self.assertEqual(277, canvas_frame_price( width=40, height=40, market=sweden, inc_vat=True)) - self.assertEqual(155, canvas_frame_price( + self.assertEqual(71, canvas_frame_price( width=40, height=120, market=us)) self.assertEqual(54, canvas_frame_price( width=40, height=100, market=us)) @@ -253,10 +260,10 @@ class TestPrice(unittest2.TestCase): self.assertEqual(91, inquiry_price(inquiry, framed=False)) def test_package_price(self): - self.assertEqual(800, package_price('canvas', 150, 40, market=us)) + self.assertEqual(100, package_price('canvas', 150, 40, market=us)) self.assertEqual(0, package_price('canvas', 150, 40, market=sweden)) - self.assertEqual(1100, package_price('poster', 150, 40, market=us)) - self.assertEqual(400, package_price('poster', 40, 40, market=us)) + self.assertEqual(400, package_price('poster', 150, 40, market=us)) + self.assertEqual(250, package_price('poster', 40, 40, market=us)) self.assertEqual(0, package_price('poster', 150, 40, market=sweden)) def test_poster_cm2_price(self): @@ -269,15 +276,17 @@ class TestPrice(unittest2.TestCase): def test_poster_price(self): self.assertEqual(287, poster_price(width=30, height=40, hanger=True, market=sweden)) self.assertEqual(168, poster_price(width=30, height=40, hanger=False, market=sweden)) - self.assertEqual(77, poster_price(width=30, height=40, hanger=True, market=us), 'extra cost for us/global market') - self.assertEqual(189, poster_price(width=120, height=40, market=us), 'high extra cost for us/global market wide posters') - self.assertEqual(190, poster_price(width=120, height=40, market=us, designer=designer_moomin)) + self.assertEqual(59, poster_price(width=30, height=40, hanger=True, market=us), 'extra cost for us market') + self.assertEqual(64, poster_price(width=30, height=40, hanger=True, market=eu), 'extra cost for eu market') + self.assertEqual(105, poster_price(width=120, height=40, market=us), 'high extra cost for us market wide posters') + self.assertEqual(113, poster_price(width=120, height=40, market=eu), 'high extra cost for eu market wide posters') + self.assertEqual(106, poster_price(width=120, height=40, market=us, designer=designer_moomin)) def test_poster_hanger_price(self): self.assertEqual(182, poster_hanger_price(30, market=sweden)) self.assertEqual(438, poster_hanger_price(150, market=sweden)) - self.assertEqual(66, poster_hanger_price(30, market=us)) - self.assertEqual(176, poster_hanger_price(150, market=us)) + self.assertEqual(48, poster_hanger_price(30, market=us)) + self.assertEqual(92, poster_hanger_price(150, market=us)) def test_poster_custom_inquiry_price(self): with mock.patch.object(Inquiry, 'market', sweden):