Add ORM models for the simulation data
- add new ORM models `ReplaySimulation` and `ReplayedOrder`
to store the data generated by the routing simulations
- add migrations script to create the corresponding database tables
+ create "replay_simulations" and "replayed_orders" tables
+ add missing check constraints to "orders" table
+ add unique constraint to "orders" table to enable compound key
+ drop unnecessary check constraints from the "orders" table
- add tests for the new ORM models
+ add `simulation`, `replayed_order`, `make_replay_order()`, and
`pre_order` fixtures
+ add `ReplayedOrderFactor` faker class
- fix some typos
This commit is contained in:
parent
41f75f507d
commit
e4e543bd40
19 changed files with 1677 additions and 10 deletions
17
tests/db/replay/test_simulations.py
Normal file
17
tests/db/replay/test_simulations.py
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
"""Test the ORM's `ReplaySimulation` model."""
|
||||
|
||||
|
||||
class TestSpecialMethods:
|
||||
"""Test special methods in `ReplaySimulation`."""
|
||||
|
||||
def test_create_simulation(self, simulation):
|
||||
"""Test instantiation of a new `ReplaySimulation` object."""
|
||||
assert simulation is not None
|
||||
|
||||
def test_text_representation(self, simulation):
|
||||
"""`ReplaySimulation` has a non-literal text representation."""
|
||||
result = repr(simulation)
|
||||
|
||||
assert result.startswith('<ReplaySimulation(')
|
||||
assert simulation.city.name in result
|
||||
assert simulation.strategy in result
|
||||
Loading…
Reference in a new issue