Browse Source

rendamed LogItem to LogEntry

funding-tag
Holger Frey 5 years ago
parent
commit
b95fe252b3
  1. 4
      ordr3/adapters.py
  2. 12
      ordr3/models.py
  3. 2
      ordr3/services.py
  4. 18
      tests/test_adapters.py
  5. 44
      tests/test_models.py

4
ordr3/adapters.py

@ -81,9 +81,9 @@ def start_mappers():
order_table, order_table,
properties={ properties={
"log": relationship( "log": relationship(
models.LogItem, backref="order", order_by=log_table.c.date models.LogEntry, backref="order", order_by=log_table.c.date
) )
}, },
) )
mapper(models.LogItem, log_table) mapper(models.LogEntry, log_table)
mapper(models.User, user_table) mapper(models.User, user_table)

12
ordr3/models.py

@ -101,16 +101,16 @@ class OrderItem(Model):
def total_price(self): def total_price(self):
return self.unit_price * self.amount return self.unit_price * self.amount
def add_to_log(self, log_item): def add_to_log(self, log_entry):
""" adds a log item to the status log """ """ adds a log item to the status log """
if len(self.log) == 0: if len(self.log) == 0:
self.created_by = log_item.by self.created_by = log_entry.by
self.created_on = log_item.date self.created_on = log_entry.date
self.status = log_item.status self.status = log_entry.status
self.log.append(log_item) self.log.append(log_entry)
class LogItem(Model): class LogEntry(Model):
""" an entry in the order log """ """ an entry in the order log """
order_id = None order_id = None

2
ordr3/services.py

@ -30,5 +30,5 @@ def _find_consumables(repo, repeat=3, days=365 * 2):
def create_log_entry(order, status, user): def create_log_entry(order, status, user):
log_entry = models.LogItem(order.id, status, user.username, user.id) log_entry = models.LogEntry(order.id, status, user.username, user.id)
order.add_to_log(log_entry) order.add_to_log(log_entry)

18
tests/test_adapters.py

@ -65,7 +65,7 @@ def test_order_mapper(session, order_sql):
def test_log_mapper(session, order_sql): def test_log_mapper(session, order_sql):
from ordr3.models import LogItem, OrderItem, OrderStatus from ordr3.models import LogEntry, OrderItem, OrderStatus
session.execute(order_sql) session.execute(order_sql)
session.execute( session.execute(
@ -79,28 +79,28 @@ def test_log_mapper(session, order_sql):
""" """
) )
expected = [ expected = [
LogItem( LogEntry(
1, OrderStatus.OPEN, "ME", 1, datetime(2020, 2, 5, 15, 14, 13), 1, OrderStatus.OPEN, "ME", 1, datetime(2020, 2, 5, 15, 14, 13),
), ),
LogItem( LogEntry(
1, 1,
OrderStatus.COMPLETED, OrderStatus.COMPLETED,
"YOU", "YOU",
2, 2,
datetime(2020, 2, 7, 15, 14, 13), datetime(2020, 2, 7, 15, 14, 13),
), ),
LogItem( LogEntry(
1, OrderStatus.ORDERED, "ME", 1, datetime(2020, 2, 6, 15, 14, 13) 1, OrderStatus.ORDERED, "ME", 1, datetime(2020, 2, 6, 15, 14, 13)
), ),
] ]
assert session.query(LogItem).all() == expected assert session.query(LogEntry).all() == expected
order = session.query(OrderItem).first() order = session.query(OrderItem).first()
assert order.log == sorted(expected, key=lambda x: x.date) assert order.log == sorted(expected, key=lambda x: x.date)
logitem = session.query(LogItem).first() LogEntry = session.query(LogEntry).first()
assert logitem.order.id == order.id assert LogEntry.order.id == order.id
def test_user_mapper(session): def test_user_mapper(session):
@ -125,7 +125,7 @@ def test_user_mapper(session):
def test_adapter_behaviour(session): def test_adapter_behaviour(session):
from ordr3.models import OrderItem, OrderCategory, OrderStatus, LogItem from ordr3.models import OrderItem, OrderCategory, OrderStatus, LogEntry
order = OrderItem( order = OrderItem(
None, None,
@ -140,7 +140,7 @@ def test_adapter_behaviour(session):
) )
session.add(order) session.add(order)
log_entry = LogItem(order.id, OrderStatus.OPEN, "ME", 123) log_entry = LogEntry(order.id, OrderStatus.OPEN, "ME", 123)
order.add_to_log(log_entry) order.add_to_log(log_entry)
from_db = session.query(OrderItem).first() from_db = session.query(OrderItem).first()

44
tests/test_models.py

@ -39,41 +39,41 @@ def test_orderitem_total_price():
def test_orderitem_add_to_log_empty_log(): def test_orderitem_add_to_log_empty_log():
from ordr3.models import OrderItem, LogItem from ordr3.models import OrderItem, LogEntry
order = OrderItem(*list("ABCDEFGHIJK")) order = OrderItem(*list("ABCDEFGHIJK"))
log_item = LogItem(order, "critical", "me", "myid", "yesterday") log_entry = LogEntry(order, "critical", "me", "myid", "yesterday")
order.add_to_log(log_item) order.add_to_log(log_entry)
assert order.created_on == log_item.date assert order.created_on == log_entry.date
assert order.created_by == log_item.by assert order.created_by == log_entry.by
assert order.status == log_item.status assert order.status == log_entry.status
def test_orderitem_add_to_log_non_empty_log(): def test_orderitem_add_to_log_non_empty_log():
from ordr3.models import OrderItem, LogItem from ordr3.models import OrderItem, LogEntry
order = OrderItem(*list("ABCDEFGHIJK")) order = OrderItem(*list("ABCDEFGHIJK"))
log_item_1 = LogItem(order, "critical", "me", "myid", "yesterday") log_entry_1 = LogEntry(order, "critical", "me", "myid", "yesterday")
log_item_2 = LogItem(order, "normal", "you", "yourid", "today") log_entry_2 = LogEntry(order, "normal", "you", "yourid", "today")
order.add_to_log(log_item_1) order.add_to_log(log_entry_1)
order.add_to_log(log_item_2) order.add_to_log(log_entry_2)
assert order.created_on == log_item_1.date assert order.created_on == log_entry_1.date
assert order.created_by == log_item_1.by assert order.created_by == log_entry_1.by
assert order.status == log_item_2.status assert order.status == log_entry_2.status
def test_logitem_init(): def test_LogEntry_init():
from ordr3.models import LogItem from ordr3.models import LogEntry
log_item = LogItem(1, "critical", "me", "myid", "yesterday") log_entry = LogEntry(1, "critical", "me", "myid", "yesterday")
assert log_item.order_id == 1 assert log_entry.order_id == 1
assert log_item.status == "critical" assert log_entry.status == "critical"
assert log_item.by == "me" assert log_entry.by == "me"
assert log_item.user_id == "myid" assert log_entry.user_id == "myid"
assert log_item.date == "yesterday" assert log_entry.date == "yesterday"
def test_user_init(): def test_user_init():

Loading…
Cancel
Save