- Add tests for all model CRUD operations - Add test for base Model class - Add test runner for all model tests - Tests include cleanup and validation
63 lines
1.9 KiB
Python
63 lines
1.9 KiB
Python
from models.squence import Sequence
|
|
import os
|
|
|
|
def test_sequence():
|
|
"""Test Sequence model CRUD operations."""
|
|
# Clean up any existing test file
|
|
if os.path.exists("Sequence.json"):
|
|
os.remove("Sequence.json")
|
|
|
|
sequences = Sequence()
|
|
|
|
print("Testing create sequence")
|
|
sequence_id = sequences.create("test_group", ["preset1", "preset2"])
|
|
print(f"Created sequence with ID: {sequence_id}")
|
|
assert sequence_id is not None
|
|
assert sequence_id in sequences
|
|
|
|
print("\nTesting read sequence")
|
|
sequence = sequences.read(sequence_id)
|
|
print(f"Read: {sequence}")
|
|
assert sequence is not None
|
|
assert sequence["group_name"] == "test_group"
|
|
assert len(sequence["presets"]) == 2
|
|
assert "sequence_duration" in sequence
|
|
assert "sequence_loop" in sequence
|
|
|
|
print("\nTesting update sequence")
|
|
update_data = {
|
|
"group_name": "updated_group",
|
|
"presets": ["preset3", "preset4", "preset5"],
|
|
"sequence_duration": 5000,
|
|
"sequence_transition": 1000,
|
|
"sequence_loop": True,
|
|
"sequence_repeat_count": 3
|
|
}
|
|
result = sequences.update(sequence_id, update_data)
|
|
assert result is True
|
|
updated = sequences.read(sequence_id)
|
|
assert updated["group_name"] == "updated_group"
|
|
assert len(updated["presets"]) == 3
|
|
assert updated["sequence_duration"] == 5000
|
|
assert updated["sequence_loop"] is True
|
|
|
|
print("\nTesting list sequences")
|
|
sequence_list = sequences.list()
|
|
print(f"Sequence list: {sequence_list}")
|
|
assert sequence_id in sequence_list
|
|
|
|
print("\nTesting delete sequence")
|
|
deleted = sequences.delete(sequence_id)
|
|
assert deleted is True
|
|
assert sequence_id not in sequences
|
|
|
|
print("\nTesting read after delete")
|
|
sequence = sequences.read(sequence_id)
|
|
assert sequence is None
|
|
|
|
print("\nAll sequence tests passed!")
|
|
|
|
|
|
if __name__ == '__main__':
|
|
test_sequence()
|