P5-4783 add different designer pricepremium for each product group
This commit is contained in:
+32
-42
@@ -35,12 +35,20 @@ russia.price_adjustments = 1
|
||||
russia.exchange_rate = 0.100000 # russia uses EUR
|
||||
|
||||
designer = DesignerFactory()
|
||||
designer.pricepremium = 17.647
|
||||
designer.pricepremium_wallpaper = 17.647
|
||||
designer.pricepremium_canvas = 8
|
||||
designer.pricepremium_poster = 15.50
|
||||
designer.pricepremium_framed_print = 13
|
||||
|
||||
|
||||
reseller = ContractCustomerFactory(pricepremium=15)
|
||||
piterra = ContractCustomerFactory(pricepremium=36.029411)
|
||||
|
||||
designer_moomin = DesignerFactory()
|
||||
designer_moomin.pricepremium = 2
|
||||
designer_moomin.pricepremium_wallpaper = 2
|
||||
designer_moomin.pricepremium_canvas = 3
|
||||
designer_moomin.pricepremium_poster = 4
|
||||
designer_moomin.pricepremium_framed_print = 7
|
||||
|
||||
standard_wallpaper = Material(name="standard-wallpaper", price=23600)
|
||||
premium_wallpaper = Material(name="premium-wallpaper", price=26000)
|
||||
@@ -50,51 +58,33 @@ standard_canvas = Material(name="standard-canvas", price=79920)
|
||||
class TestPrice(unittest2.TestCase):
|
||||
def test_m2_price(self):
|
||||
self.assertEqual(
|
||||
236, m2_price(material=standard_wallpaper, market=sweden, inc_vat=False)
|
||||
236,
|
||||
wallpaper_m2_price(
|
||||
material=standard_wallpaper, market=sweden, inc_vat=False
|
||||
),
|
||||
)
|
||||
self.assertEqual(
|
||||
260, m2_price(material=premium_wallpaper, market=sweden, inc_vat=False)
|
||||
260,
|
||||
wallpaper_m2_price(
|
||||
material=premium_wallpaper, market=sweden, inc_vat=False
|
||||
),
|
||||
)
|
||||
self.assertEqual(
|
||||
295, m2_price(material=standard_wallpaper, market=sweden, inc_vat=True)
|
||||
295,
|
||||
wallpaper_m2_price(
|
||||
material=standard_wallpaper, market=sweden, inc_vat=True
|
||||
),
|
||||
)
|
||||
self.assertEqual(
|
||||
223, m2_price(material=standard_wallpaper, market=denmark, inc_vat=False)
|
||||
)
|
||||
self.assertAlmostEqual(
|
||||
79.92,
|
||||
m2_price(
|
||||
material=standard_canvas, market=russia, rounded=False, inc_vat=False
|
||||
223,
|
||||
wallpaper_m2_price(
|
||||
material=standard_wallpaper, market=denmark, inc_vat=False
|
||||
),
|
||||
places=2,
|
||||
)
|
||||
self.assertAlmostEqual(
|
||||
81.5184,
|
||||
m2_price(
|
||||
material=standard_canvas,
|
||||
market=russia,
|
||||
designer=designer_moomin,
|
||||
rounded=False,
|
||||
inc_vat=False,
|
||||
),
|
||||
places=4,
|
||||
)
|
||||
self.assertAlmostEqual(
|
||||
110.88899937662403,
|
||||
m2_price(
|
||||
material=standard_canvas,
|
||||
market=russia,
|
||||
designer=designer_moomin,
|
||||
reseller=piterra,
|
||||
rounded=False,
|
||||
inc_vat=False,
|
||||
),
|
||||
places=4,
|
||||
)
|
||||
inquiry = Inquiry(pricepremium=36.029411)
|
||||
self.assertEqual(
|
||||
44,
|
||||
m2_price(
|
||||
wallpaper_m2_price(
|
||||
material=standard_wallpaper,
|
||||
market=russia,
|
||||
reseller=piterra,
|
||||
@@ -315,7 +305,7 @@ class TestPrice(unittest2.TestCase):
|
||||
)
|
||||
|
||||
self.assertEqual(
|
||||
180,
|
||||
181,
|
||||
canvas_price(
|
||||
width=150,
|
||||
height=100,
|
||||
@@ -325,7 +315,7 @@ class TestPrice(unittest2.TestCase):
|
||||
),
|
||||
)
|
||||
self.assertEqual(
|
||||
180,
|
||||
181,
|
||||
canvas_price(
|
||||
width=150, height=100, market=us, designer=designer_moomin, inc_vat=True
|
||||
),
|
||||
@@ -382,7 +372,7 @@ class TestPrice(unittest2.TestCase):
|
||||
|
||||
def test_wallpaper_product_inquiry_price(self):
|
||||
designer = DesignerFactory()
|
||||
designer.pricepremium = 4
|
||||
designer.pricepremium_wallpaper = 4
|
||||
product = Product(designer=designer)
|
||||
with mock.patch.object(Inquiry, "market", sweden):
|
||||
inquiry = Inquiry(
|
||||
@@ -402,7 +392,7 @@ class TestPrice(unittest2.TestCase):
|
||||
|
||||
def test_wallpaper_product2_inquiry_price(self):
|
||||
designer = DesignerFactory()
|
||||
designer.pricepremium = 4
|
||||
designer.pricepremium_wallpaper = 4
|
||||
product = Product(designer=designer)
|
||||
with mock.patch.object(Inquiry, "market", sweden):
|
||||
inquiry = Inquiry(
|
||||
@@ -517,7 +507,7 @@ class TestPrice(unittest2.TestCase):
|
||||
"high extra cost for us market wide posters",
|
||||
)
|
||||
self.assertEqual(
|
||||
77, poster_price(width=120, height=40, market=us, designer=designer_moomin)
|
||||
78, poster_price(width=120, height=40, market=us, designer=designer_moomin)
|
||||
)
|
||||
|
||||
def test_poster_hanger_price(self):
|
||||
@@ -547,7 +537,7 @@ class TestPrice(unittest2.TestCase):
|
||||
def test_framed_print_price(self):
|
||||
self.assertEqual(598, framed_print_price(sku="GLOBAL-CFP-12x12", market=sweden))
|
||||
self.assertEqual(
|
||||
609,
|
||||
639,
|
||||
framed_print_price(
|
||||
sku="GLOBAL-CFP-12x12", market=sweden, designer=designer_moomin
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user