mirror of
https://github.com/almet/copanier.git
synced 2025-04-28 19:42:37 +02:00
48 lines
1.7 KiB
Python
48 lines
1.7 KiB
Python
from io import BytesIO
|
|
|
|
from openpyxl import load_workbook
|
|
|
|
from copanier import reports
|
|
from copanier.models import Order, Product, ProductOrder
|
|
|
|
|
|
def test_summary_report(delivery):
|
|
delivery.products[0].packing = 6
|
|
delivery.products.append(
|
|
Product(ref="456", name="yaourt", price="3.5", packing=4, unit="pot 125ml")
|
|
)
|
|
delivery.products.append(Product(ref="789", name="fromage", price="9.2"))
|
|
delivery.orders["foo@bar.org"] = Order(
|
|
products={"123": ProductOrder(wanted=1), "456": ProductOrder(wanted=4)}
|
|
)
|
|
delivery.persist()
|
|
wb = load_workbook(filename=BytesIO(reports.summary(delivery)))
|
|
assert list(wb.active.values) == [
|
|
("ref", "produit", "prix unitaire", "quantité commandée", "unité", "total"),
|
|
("123", "Lait", 1.5, 1, None, 1.5),
|
|
("456", "yaourt (pot 125ml)", 3.5, 4, "pot 125ml", 14),
|
|
(None, None, None, None, "Total", 15.5),
|
|
]
|
|
|
|
|
|
def test_balance_report(delivery):
|
|
delivery.products = [
|
|
Product(ref="123", name="lait", price="1.9", unit="1.5 litre"),
|
|
Product(ref="456", name="yaourt", price="3.5", unit="pot 125ml"),
|
|
]
|
|
delivery.orders = {
|
|
"foo@bar.org": Order(
|
|
products={"123": ProductOrder(wanted=1), "456": ProductOrder(wanted=4)}
|
|
),
|
|
"foo@foo.org": Order(
|
|
products={"123": ProductOrder(wanted=3), "456": ProductOrder(wanted=2)},
|
|
paid=True,
|
|
),
|
|
}
|
|
delivery.persist()
|
|
wb = load_workbook(filename=BytesIO(reports.balance(delivery)))
|
|
assert list(wb.active.values) == [
|
|
("Adhérent", "Montant", "Payé"),
|
|
("foo@bar.org", 15.9, "non"),
|
|
("foo@foo.org", 12.7, "oui"),
|
|
]
|