P5-4105 update package price calculations

This commit is contained in:
Martin
2019-08-29 11:49:20 +02:00
parent 5990622b5b
commit 462b078342
2 changed files with 16 additions and 22 deletions
+4 -6
View File
@@ -81,14 +81,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 100
elif product_group == 'poster':
if market.territory == 'US':
if product_group in ['canvas', 'poster']:
if width > 110:
return 400
return 150
else:
return 250
return 100
return 0
+12 -16
View File
@@ -139,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(195, canvas_price(width=150, height=150,
self.assertEqual(201, canvas_price(width=150, height=150,
market=us, framed=True, inc_vat=True))
self.assertEqual(672, canvas_price(
@@ -151,10 +151,8 @@ class TestPrice(unittest2.TestCase):
self.assertEqual(462, canvas_price(width=50, height=50,
market=denmark, framed=True, 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))
self.assertEqual(180, canvas_price(width=150, height=100, market=us, designer=designer_moomin, inc_vat=False))
self.assertEqual(180, canvas_price(width=150, height=100, market=us, designer=designer_moomin, inc_vat=True))
def test_canvas_frame_price(self):
self.assertEqual(624, canvas_frame_price(
@@ -171,7 +169,7 @@ class TestPrice(unittest2.TestCase):
width=40, height=40, market=sweden, inc_vat=True))
self.assertEqual(71, canvas_frame_price(
width=40, height=120, market=us))
self.assertEqual(54, canvas_frame_price(
self.assertEqual(66, canvas_frame_price(
width=40, height=100, market=us))
self.assertEqual(578, canvas_frame_price(
width=40, height=120, market=sweden))
@@ -260,10 +258,10 @@ class TestPrice(unittest2.TestCase):
self.assertEqual(91, inquiry_price(inquiry, framed=False))
def test_package_price(self):
self.assertEqual(100, package_price('canvas', 150, 40, market=us))
self.assertEqual(150, package_price('canvas', 150, 40, market=us))
self.assertEqual(0, package_price('canvas', 150, 40, market=sweden))
self.assertEqual(400, package_price('poster', 150, 40, market=us))
self.assertEqual(250, package_price('poster', 40, 40, market=us))
self.assertEqual(150, package_price('poster', 150, 40, market=us))
self.assertEqual(100, package_price('poster', 40, 40, market=us))
self.assertEqual(0, package_price('poster', 150, 40, market=sweden))
def test_poster_cm2_price(self):
@@ -276,17 +274,15 @@ class TestPrice(unittest2.TestCase):
def test_poster_price(self):
self.assertEqual(354, poster_price(width=30, height=40, hanger=True, market=sweden))
self.assertEqual(250, poster_price(width=30, height=40, hanger=False, market=sweden))
self.assertEqual(66, poster_price(width=30, height=40, hanger=True, market=us), 'extra cost for us market')
self.assertEqual(71, poster_price(width=30, height=40, hanger=True, market=eu), 'extra cost for eu market')
self.assertEqual(106, poster_price(width=120, height=40, market=us), 'high extra cost for us market wide posters')
self.assertEqual(114, poster_price(width=120, height=40, market=eu), 'high extra cost for eu market wide posters')
self.assertEqual(107, poster_price(width=120, height=40, market=us, designer=designer_moomin))
self.assertEqual(48, poster_price(width=30, height=40, hanger=True, market=us), 'extra cost for us market')
self.assertEqual(76, poster_price(width=120, height=40, market=us), 'high extra cost for us market wide posters')
self.assertEqual(77, poster_price(width=120, height=40, market=us, designer=designer_moomin))
def test_poster_hanger_price(self):
self.assertEqual(166, poster_hanger_price(30, market=sweden))
self.assertEqual(390, poster_hanger_price(150, market=sweden))
self.assertEqual(47, poster_hanger_price(30, market=us))
self.assertEqual(88, poster_hanger_price(150, market=us))
self.assertEqual(29, poster_hanger_price(30, market=us))
self.assertEqual(58, poster_hanger_price(150, market=us))
def test_poster_custom_inquiry_price(self):
with mock.patch.object(Inquiry, 'market', sweden):