copanier/tests/test_reports.py

26 lines
983 B
Python

from io import BytesIO
from openpyxl import load_workbook
from copanier import reports
from copanier.models import Order, Product, ProductOrder
def test_export_products(client, 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),
("789", "fromage", 9.2, 0, None, 0),
(None, None, None, None, "Total", 15.5),
]