Persist material efficiency snapshots
This commit is contained in:
@@ -152,14 +152,15 @@ def test_temporal_regression_and_successive_feedback():
|
||||
assert first.good_quantity_m2 == 800
|
||||
|
||||
|
||||
def test_naive_feedback_requires_explicit_timezone_and_preserves_source():
|
||||
def test_naive_feedback_requires_explicit_timezone_and_returns_instant():
|
||||
naive = datetime(2026, 9, 4, 12, 5)
|
||||
status = replace(STATUS, feedback_timestamp=naive)
|
||||
with pytest.raises(ValueError, match='explicit erp_timezone'):
|
||||
service().evaluate(status)
|
||||
subject = service(erp_timezone=ZoneInfo('Europe/Berlin'))
|
||||
result = subject.evaluate(status)
|
||||
assert result.erp_feedback_timestamp == naive
|
||||
assert result.erp_feedback_timestamp == FEEDBACK
|
||||
assert status.feedback_timestamp == naive
|
||||
assert subject.materials.latest_at_or_before.call_args.kwargs['timestamp'] == FEEDBACK
|
||||
|
||||
|
||||
@@ -171,10 +172,11 @@ def test_dst_gap_and_overlap_rejected(timestamp):
|
||||
)
|
||||
|
||||
|
||||
def test_aware_feedback_preserves_offset():
|
||||
def test_aware_feedback_returns_utc():
|
||||
timestamp = FEEDBACK.astimezone(ZoneInfo('Europe/Berlin'))
|
||||
result = service().evaluate(replace(STATUS, feedback_timestamp=timestamp))
|
||||
assert result.erp_feedback_timestamp is timestamp
|
||||
assert result.erp_feedback_timestamp == timestamp
|
||||
assert result.erp_feedback_timestamp.tzinfo is UTC
|
||||
|
||||
|
||||
def test_database_failure_propagates():
|
||||
|
||||
Reference in New Issue
Block a user