refactor canvas material price calculations

This commit is contained in:
Martin
2016-11-08 13:04:17 +01:00
parent fa1528f138
commit cf5fe9fc69
2 changed files with 32 additions and 17 deletions
+24
View File
@@ -19,9 +19,17 @@ us = market.from_territory('US')
us.price_adjustments = 1.05
us.exchange_rate = 0.119800
russia = market.from_territory('RU')
russia.price_adjustments = 1
russia.exchange_rate = 0.100000 # russia uses EUR
designer = DesignerFactory()
designer.pricepremium = 17.647
reseller = ContractCustomerFactory(pricepremium=15)
piterra = ContractCustomerFactory(pricepremium=36.029411)
designer_moomin = DesignerFactory()
designer_moomin.pricepremium = 2
standard_wallpaper = Material(name='standard-wallpaper')
standard_wallpaper.material_price = MaterialPrice(price=236)
@@ -35,6 +43,22 @@ standard_canvas.material_price = MaterialPrice(price=799.2)
class TestPrice(unittest2.TestCase):
def test_material_price(self):
self.assertEqual(236, material_price(
material=standard_wallpaper, market=sweden, inc_vat=False))
self.assertEqual(260, material_price(
material=premium_wallpaper, market=sweden, inc_vat=False))
self.assertEqual(295, material_price(
material=standard_wallpaper, market=sweden, inc_vat=True))
self.assertEqual(223, material_price(
material=standard_wallpaper, market=denmark, inc_vat=False))
self.assertAlmostEqual(79.92, material_price(
material=standard_canvas, market=russia, rounded=False, inc_vat=False), places=2)
self.assertAlmostEqual(81.5184, material_price(
material=standard_canvas, market=russia, designer=designer_moomin, rounded=False, inc_vat=False), places=4)
self.assertAlmostEqual(110.88899937662403, material_price(material=standard_canvas, market=russia,
designer=designer_moomin, reseller=piterra, rounded=False, inc_vat=False), places=4)
def test_wallpaper_price(self):
self.assertEqual(295, wallpaper_price(
width=1, height=1, material=standard_wallpaper, market=sweden))