本文整理汇总了Python中stoqlib.domain.sellable.SellableCategory.get_markup方法的典型用法代码示例。如果您正苦于以下问题:Python SellableCategory.get_markup方法的具体用法?Python SellableCategory.get_markup怎么用?Python SellableCategory.get_markup使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类stoqlib.domain.sellable.SellableCategory
的用法示例。
在下文中一共展示了SellableCategory.get_markup方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: TestSellable
# 需要导入模块: from stoqlib.domain.sellable import SellableCategory [as 别名]
# 或者: from stoqlib.domain.sellable.SellableCategory import get_markup [as 别名]
class TestSellable(DomainTest):
def setUp(self):
DomainTest.setUp(self)
self._base_category = SellableCategory(description=u"Cigarro",
store=self.store)
self._category = SellableCategory(description=u"Hollywood",
category=self._base_category,
suggested_markup=10,
store=self.store)
def test_price_based_on_category_markup(self):
# When the price isn't defined, but the category and the cost. In this
# case the sellable must have the price calculated applying the category's
# markup in the sellable's cost.
self._category.suggested_markup = 0
sellable = Sellable(description=u"MX123",
commission=0,
cost=100,
category=self._category,
store=self.store)
sellable.max_discount = 0
self.failUnless(sellable.markup == self._category.get_markup(),
(u"Expected markup: %r, got %r"
% (self._category.get_markup(),
sellable.markup)))
price = sellable.cost * (sellable.markup / currency(100) + 1)
self.failUnless(sellable.price == price,
(u"Expected price: %r, got %r"
% (price, sellable.price)))
def test_price_based_on_specified_markup(self):
# When the price isn't defined, but the category, markup and the cost.
# In this case the category's markup must be ignored and the price
# calculated applying the markup specified in the sellable's cost.
sellable = Sellable(description=u"FY123",
category=self._category,
cost=100,
store=self.store)
sellable.markup = 5
self.assertEquals(sellable.markup, 5)
self.assertEquals(sellable.price, 105)
sellable.cost = Decimal('100.33')
sellable.markup = 7
self.assertEquals(sellable.price, currency('107.35'))
sellable.markup = 8
self.assertEquals(sellable.price, currency('108.36'))
def test_commission(self):
self._category.salesperson_commission = 10
sellable = Sellable(description=u"TX342",
category=self._category,
store=self.store)
self.failUnless(sellable.commission
== self._category.salesperson_commission,
(u"Expected salesperson commission: %r, got %r"
% (self._category.salesperson_commission,
sellable.commission)))
def test_prices_and_markups(self):
self._category.markup = 0
sellable = Sellable(category=self._category, cost=50,
description=u"Test", price=currency(100),
store=self.store)
self.failUnless(sellable.price == 100,
u"Expected price: %r, got %r" % (100, sellable.price))
self.failUnless(sellable.markup == 100,
u"Expected markup: %r, got %r" % (100, sellable.markup))
sellable.markup = 10
self.failUnless(sellable.price == 55,
u"Expected price: %r, got %r" % (55, sellable.price))
sellable.price = 50
self.failUnless(sellable.markup == 0,
u"Expected markup %r, got %r" % (0, sellable.markup))
# When the price specified isn't equivalent to the markup specified.
# In this case the price don't must be updated based on the markup.
sellable = Sellable(cost=50,
description=u"Test", price=currency(100),
store=self.store)
self.failUnless(sellable.price == 100)
# A simple test: product without cost and price, markup must be 0
sellable.cost = currency(0)
sellable.price = currency(0)
self.failUnless(sellable.markup == 0,
u"Expected markup %r, got %r" % (0, sellable.markup))
def test_get_available_sellables_query(self):
# Sellable and query without supplier
sellable = self.create_sellable()
self.create_storable(product=sellable.product,
branch=self.create_branch())
self.assertIn(
sellable,
self.store.find(Sellable,
Sellable.get_available_sellables_query(self.store)))
#.........这里部分代码省略.........
示例2: TestSellable
# 需要导入模块: from stoqlib.domain.sellable import SellableCategory [as 别名]
# 或者: from stoqlib.domain.sellable.SellableCategory import get_markup [as 别名]
class TestSellable(DomainTest):
def setUp(self):
DomainTest.setUp(self)
self._base_category = SellableCategory(description=u"Cigarro",
store=self.store)
self._category = SellableCategory(description=u"Hollywood",
category=self._base_category,
suggested_markup=10,
store=self.store)
def test_get_description(self):
sellable = self.create_sellable()
sellable.category = self._category
self.assertEqual(sellable.get_description(), 'Description')
self.assertEqual(sellable.get_description(full_description=True),
'[Hollywood] Description')
def test_get_category_description(self):
sellable = self.create_sellable()
sellable.category = self._category
self.assertEqual(sellable.get_category_description(), 'Hollywood')
def test_price_based_on_category_markup(self):
# When the price isn't defined, but the category and the cost. In this
# case the sellable must have the price calculated applying the category's
# markup in the sellable's cost.
self._category.suggested_markup = 0
sellable = Sellable(description=u"MX123",
commission=0,
cost=100,
category=self._category,
store=self.store)
sellable.max_discount = 0
self.assertTrue(sellable.markup == self._category.get_markup(),
(u"Expected markup: %r, got %r"
% (self._category.get_markup(),
sellable.markup)))
price = sellable.cost * (sellable.markup / currency(100) + 1)
self.assertTrue(sellable.price == price,
(u"Expected price: %r, got %r"
% (price, sellable.price)))
def test_price_based_on_specified_markup(self):
# When the price isn't defined, but the category, markup and the cost.
# In this case the category's markup must be ignored and the price
# calculated applying the markup specified in the sellable's cost.
sellable = Sellable(description=u"FY123",
category=self._category,
cost=100,
store=self.store)
sellable.markup = 5
self.assertEqual(sellable.markup, 5)
self.assertEqual(sellable.price, 105)
sellable.cost = Decimal('100.33')
sellable.markup = 7
self.assertEqual(sellable.price, currency('107.35'))
sellable.markup = 8
self.assertEqual(sellable.price, currency('108.36'))
def test_commission(self):
self._category.salesperson_commission = 10
sellable = Sellable(description=u"TX342",
category=self._category,
store=self.store)
self.assertTrue(sellable.commission
== self._category.salesperson_commission,
(u"Expected salesperson commission: %r, got %r"
% (self._category.salesperson_commission,
sellable.commission)))
def test_prices_and_markups(self):
self._category.markup = 0
sellable = Sellable(category=self._category, cost=50,
description=u"Test", price=currency(100),
store=self.store)
self.assertTrue(sellable.price == 100,
u"Expected price: %r, got %r" % (100, sellable.price))
self.assertTrue(sellable.markup == 100,
u"Expected markup: %r, got %r" % (100, sellable.markup))
sellable.markup = 10
self.assertTrue(sellable.price == 55,
u"Expected price: %r, got %r" % (55, sellable.price))
sellable.price = 50
self.assertTrue(sellable.markup == 0,
u"Expected markup %r, got %r" % (0, sellable.markup))
# When the price specified isn't equivalent to the markup specified.
# In this case the price don't must be updated based on the markup.
sellable = Sellable(cost=50,
description=u"Test", price=currency(100),
store=self.store)
self.assertTrue(sellable.price == 100)
# A simple test: product without cost and price, markup must be 0
sellable.cost = currency(0)
sellable.price = currency(0)
self.assertTrue(sellable.markup == 0,
u"Expected markup %r, got %r" % (0, sellable.markup))
#.........这里部分代码省略.........