| 12345678910111213141516171819202122232425262728293031323334 |
- """Tests for the ScheduledDrying model (#2638)."""
- import pytest
- from backend.app.models.scheduled_drying import ScheduledDrying
- @pytest.mark.asyncio
- async def test_scheduled_drying_defaults(db_session, printer_factory):
- printer = await printer_factory()
- row = ScheduledDrying(printer_id=printer.id, ams_id=0, temp=65, duration_hours=8)
- db_session.add(row)
- await db_session.commit()
- await db_session.refresh(row)
- assert row.id is not None
- assert row.status == "pending"
- assert row.start_after is None
- assert row.rotate_tray is False
- assert row.filament == ""
- assert row.created_at is not None
- assert row.started_at is None
- def test_printer_fk_declares_cascade_delete():
- """Verify the model declares CASCADE delete on printer FK (enforced in PostgreSQL)."""
- fk = next(iter(ScheduledDrying.__table__.c.printer_id.foreign_keys))
- assert fk.ondelete == "CASCADE"
- def test_created_by_fk_declares_set_null():
- """Verify the model declares SET NULL on created_by FK (enforced in PostgreSQL)."""
- fk = next(iter(ScheduledDrying.__table__.c.created_by_id.foreign_keys))
- assert fk.ondelete == "SET NULL"
|