|
@@ -38,7 +38,7 @@ def test_order_dict_repr():
|
|
|
'platform': u'platform',
|
|
|
}
|
|
|
|
|
|
-def test_order_from_dict():
|
|
|
+def test_order_from_dict_flat():
|
|
|
|
|
|
item_0 = dingguo.Item(name = u'item 0', price_brutto = dingguo.Sum(1.0, u'EUR'))
|
|
|
item_1 = dingguo.Item(name = u'item 1', price_brutto = dingguo.Sum(2.0, u'EUR'))
|
|
@@ -60,3 +60,171 @@ def test_order_from_dict():
|
|
|
assert order.order_date == datetime.date(2016, 5, 8)
|
|
|
assert order.order_id == u'id'
|
|
|
assert order.platform == u'platform'
|
|
|
+
|
|
|
+def test_order_from_dict_tree():
|
|
|
+
|
|
|
+ order = dingguo.Order.from_dict({
|
|
|
+ 'articles': [
|
|
|
+ {
|
|
|
+ 'name': u'item 0',
|
|
|
+ 'price_brutto': 1.0,
|
|
|
+ 'price_brutto_currency': u'EUR',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ 'name': u'item 1',
|
|
|
+ 'price_brutto': 2.0,
|
|
|
+ 'price_brutto_currency': u'EUR',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ 'customer_id': u'customer',
|
|
|
+ 'discounts': [
|
|
|
+ {
|
|
|
+ 'name': u'discount 0',
|
|
|
+ 'value': 3.0,
|
|
|
+ 'value_currency': u'EUR',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ 'name': u'discount 1',
|
|
|
+ 'value': 4.0,
|
|
|
+ 'value_currency': u'EUR',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ 'order_date': u'2016-05-08',
|
|
|
+ 'order_id': u'id',
|
|
|
+ 'platform': u'platform',
|
|
|
+ })
|
|
|
+
|
|
|
+ assert order.items == [
|
|
|
+ dingguo.Item(name = u'item 0', price_brutto = dingguo.Sum(1.0, u'EUR')),
|
|
|
+ dingguo.Item(name = u'item 1', price_brutto = dingguo.Sum(2.0, u'EUR')),
|
|
|
+ ]
|
|
|
+ assert order.customer_id == u'customer'
|
|
|
+ assert order.discounts == [
|
|
|
+ dingguo.Discount(name = u'discount 0', amount = dingguo.Sum(3.0, u'EUR')),
|
|
|
+ dingguo.Discount(name = u'discount 1', amount = dingguo.Sum(4.0, u'EUR')),
|
|
|
+ ]
|
|
|
+ assert order.order_date == datetime.date(2016, 5, 8)
|
|
|
+ assert order.order_id == u'id'
|
|
|
+ assert order.platform == u'platform'
|
|
|
+
|
|
|
+def test_figure_eq():
|
|
|
+ assert dingguo.Figure(1, u'mm') == dingguo.Figure(1, u'mm')
|
|
|
+
|
|
|
+def test_figure_eq_inverted():
|
|
|
+ assert not dingguo.Figure(1, u'mm') == dingguo.Figure(2, u'mm')
|
|
|
+
|
|
|
+def test_figure_ne():
|
|
|
+ assert dingguo.Figure(1, u'mm') != dingguo.Figure(2, u'mm')
|
|
|
+
|
|
|
+def test_figure_ne_inverted():
|
|
|
+ assert not dingguo.Figure(1, u'mm') != dingguo.Figure(1, u'mm')
|
|
|
+
|
|
|
+def test_item_eq():
|
|
|
+ item_a = dingguo.Item(
|
|
|
+ name = u'item',
|
|
|
+ price_brutto = dingguo.Sum(1.0, u'EUR'),
|
|
|
+ )
|
|
|
+ item_b = dingguo.Item(
|
|
|
+ name = u'item',
|
|
|
+ price_brutto = dingguo.Sum(1.0, u'EUR'),
|
|
|
+ )
|
|
|
+ assert item_a == item_b
|
|
|
+
|
|
|
+def test_item_eq_inverted():
|
|
|
+ item_a = dingguo.Item(
|
|
|
+ name = u'item',
|
|
|
+ price_brutto = dingguo.Sum(1.0, u'EUR'),
|
|
|
+ )
|
|
|
+ item_b = dingguo.Item(
|
|
|
+ name = u'item',
|
|
|
+ price_brutto = dingguo.Sum(2.0, u'EUR'),
|
|
|
+ )
|
|
|
+ assert not item_a == item_b
|
|
|
+
|
|
|
+def test_item_ne():
|
|
|
+ item_a = dingguo.Item(
|
|
|
+ name = u'item',
|
|
|
+ price_brutto = dingguo.Sum(1.0, u'EUR'),
|
|
|
+ )
|
|
|
+ item_b = dingguo.Item(
|
|
|
+ name = u'item',
|
|
|
+ price_brutto = dingguo.Sum(2.0, u'EUR'),
|
|
|
+ )
|
|
|
+ assert item_a != item_b
|
|
|
+
|
|
|
+def test_item_ne_inverted():
|
|
|
+ item_a = dingguo.Item(
|
|
|
+ name = u'item',
|
|
|
+ price_brutto = dingguo.Sum(1.0, u'EUR'),
|
|
|
+ )
|
|
|
+ item_b = dingguo.Item(
|
|
|
+ name = u'item',
|
|
|
+ price_brutto = dingguo.Sum(1.0, u'EUR'),
|
|
|
+ )
|
|
|
+ assert not item_a != item_b
|
|
|
+
|
|
|
+def test_discount_eq():
|
|
|
+ discount_a = dingguo.Discount(
|
|
|
+ name = u'discount',
|
|
|
+ amount = dingguo.Sum(1.0, u'EUR'),
|
|
|
+ )
|
|
|
+ discount_b = dingguo.Discount(
|
|
|
+ name = u'discount',
|
|
|
+ amount = dingguo.Sum(1.0, u'EUR'),
|
|
|
+ )
|
|
|
+ assert discount_a == discount_b
|
|
|
+
|
|
|
+def test_discount_eq_inverted():
|
|
|
+ discount_a = dingguo.Discount(
|
|
|
+ name = u'discount',
|
|
|
+ amount = dingguo.Sum(1.0, u'EUR'),
|
|
|
+ )
|
|
|
+ discount_b = dingguo.Discount(
|
|
|
+ name = u'discount',
|
|
|
+ amount = dingguo.Sum(2.0, u'EUR'),
|
|
|
+ )
|
|
|
+ assert not discount_a == discount_b
|
|
|
+
|
|
|
+def test_discount_ne():
|
|
|
+ discount_a = dingguo.Discount(
|
|
|
+ name = u'discount',
|
|
|
+ amount = dingguo.Sum(1.0, u'EUR'),
|
|
|
+ )
|
|
|
+ discount_b = dingguo.Discount(
|
|
|
+ name = u'discount',
|
|
|
+ amount = dingguo.Sum(2.0, u'EUR'),
|
|
|
+ )
|
|
|
+ assert discount_a != discount_b
|
|
|
+
|
|
|
+def test_discount_ne_inverted():
|
|
|
+ discount_a = dingguo.Discount(
|
|
|
+ name = u'discount',
|
|
|
+ amount = dingguo.Sum(1.0, u'EUR'),
|
|
|
+ )
|
|
|
+ discount_b = dingguo.Discount(
|
|
|
+ name = u'discount',
|
|
|
+ amount = dingguo.Sum(1.0, u'EUR'),
|
|
|
+ )
|
|
|
+ assert not discount_a != discount_b
|
|
|
+
|
|
|
+def test_item_from_dict():
|
|
|
+
|
|
|
+ item = dingguo.Item.from_dict({
|
|
|
+ 'name': u'item',
|
|
|
+ 'price_brutto': 1.0,
|
|
|
+ 'price_brutto_currency': u'EUR',
|
|
|
+ })
|
|
|
+
|
|
|
+ assert item.name == u'item'
|
|
|
+ assert item.price_brutto == dingguo.Sum(1.0, u'EUR')
|
|
|
+
|
|
|
+def test_discount_from_dict():
|
|
|
+
|
|
|
+ discount = dingguo.Discount.from_dict({
|
|
|
+ 'name': u'discount',
|
|
|
+ 'value': 1.0,
|
|
|
+ 'value_currency': u'EUR',
|
|
|
+ })
|
|
|
+
|
|
|
+ assert discount.name == u'discount'
|
|
|
+ assert discount.amount == dingguo.Sum(1.0, u'EUR')
|