123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230 |
- # -*- coding: utf-8 -*-
- import pytest
- import datetime
- import dingguo
- import yaml
- import os
- project_root_path = os.path.realpath(os.path.join(__file__, '..', '..'))
- test_data_path = os.path.join(project_root_path, 'tests', 'data')
- def test_order_dict_repr():
- order = dingguo.Order(
- platform = u'platform',
- order_id = u'id',
- order_date = datetime.datetime(2016, 5, 8, 0, 18, 17),
- customer_id = u'customer',
- )
- item_0 = dingguo.Item(name = u'item 0', price_brutto = dingguo.Sum(1.0, u'EUR'))
- order.items.append(item_0)
- item_1 = dingguo.Item(name = u'item 1', price_brutto = dingguo.Sum(2.0, u'EUR'))
- order.items.append(item_1)
- discount_0 = dingguo.Discount(name = u'discount 0', amount = dingguo.Sum(3.0, u'EUR'))
- order.discounts.append(discount_0)
- discount_1 = dingguo.Discount(name = u'discount 1', amount = dingguo.Sum(4.0, u'EUR'))
- order.discounts.append(discount_1)
- assert order.dict_repr() == {
- 'articles': [item_0, item_1],
- 'customer_id': u'customer',
- 'discounts': [discount_0, discount_1],
- 'order_date': u'2016-05-08',
- 'order_id': u'id',
- 'platform': u'platform',
- }
- 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'))
- discount_0 = dingguo.Discount(name = u'discount 0', amount = dingguo.Sum(3.0, u'EUR'))
- discount_1 = dingguo.Discount(name = u'discount 1', amount = dingguo.Sum(4.0, u'EUR'))
- order = dingguo.Order.from_dict({
- 'articles': [item_0, item_1],
- 'customer_id': u'customer',
- 'discounts': [discount_0, discount_1],
- 'order_date': u'2016-05-08',
- 'order_id': u'id',
- 'platform': u'platform',
- })
- assert order.items == [item_0, item_1]
- assert order.customer_id == u'customer'
- assert order.discounts == [discount_0, discount_1]
- 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')
|