payment_service.py test_payment.py
38
def charge(order: Order) -> Payment:39
session = get_session()40
payment = session.query(Payment)\41
.filter_by(order_id=order.id).first()42-
payment.status = 'completed'43+
with session.begin():44+
payment.status = 'completed'45+
session.commit()46
return payment47
48
# tests/test_payment.py49+
def test_payment_retry(db):50+
assert charge(order).status == 'completed'