Our custom ordering system
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

78 lines
1.7 KiB

import pytest
@pytest.fixture()
def example_orders():
from datetime import datetime
from ordr3.models import OrderItem, OrderCategory, OrderStatus
return [
OrderItem(
1,
"Ethanol",
"1-23",
"VWR",
OrderCategory.SOLVENT,
"5 l",
20.0,
2,
"EUR",
"DFG",
"urgent",
datetime(2020, 2, 3, 15, 14, 13),
"me",
OrderStatus.OPEN,
),
OrderItem(
2,
"Gloves",
"12-3",
"Carl Roth",
OrderCategory.DISPOSABLE,
"100 St.",
40.0,
5,
"USD",
"BMBF",
"no comment",
datetime(2020, 2, 4, 15, 14, 13),
"you",
OrderStatus.APPROVAL,
),
]
def test_sql_repo_add(session, example_orders):
from ordr3.repo import SqlAlchemyRepository
from ordr3.models import OrderItem
repo = SqlAlchemyRepository(session)
repo.add(example_orders[0])
session.flush()
order = session.query(OrderItem).first()
assert order == example_orders[0]
def test_sql_repo_get(session, example_orders):
from ordr3.repo import SqlAlchemyRepository
repo = SqlAlchemyRepository(session)
repo.add(example_orders[0])
repo.add(example_orders[1])
session.flush()
assert example_orders[1] == repo.get(2)
def test_sql_repo_list(session, example_orders):
from ordr3.repo import SqlAlchemyRepository
earlier, later = example_orders
repo = SqlAlchemyRepository(session)
repo.add(earlier)
repo.add(later)
session.flush()
assert repo.list() == [later, earlier]