Skip to content

feat(eval): add Django PMS eval fixture - #54

Merged
itelo merged 1 commit into
mainfrom
itelo/eng-2923-add-django-pms-eval-fixture
Aug 24, 2026
Merged

feat(eval): add Django PMS eval fixture#54
itelo merged 1 commit into
mainfrom
itelo/eng-2923-add-django-pms-eval-fixture

Conversation

@itelo

@itelo itelo commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a Django 5 property-management app at eval/fixtures/django-pms/ — a faithful analog of the existing eval/fixtures/fastapi-pms/ fixture, with the same domain so the two exercise the same integration.

  • Domain: Space (name unique, kind, capacity, nullable rate_cents, active/archived status — archived never deleted) and Reservation (guest details inline, ISO date strings, nullable FK → Space on SET_NULL, pending/confirmed/cancelled). Guest is derived by deduping reservations on lowercased email.
  • Availability: half-open [check_in, check_out) interval (same-day turnover is not a conflict), cancelled releases the space, ISO dates compared lexicographically; booked_space_ids + assert_space_bookable with guest-readable errors (missing / archived / over capacity / already booked).
  • Operations mirror the FastAPI routers/queries: list reservations/guests/spaces/availability; create reservation, update status (reviving a cancelled stay re-checks bookability), assign/move/clear space, delete; create/update space (unique-name collision → friendly error) and archive/restore.
  • Pages (4): / booking form, /reservations front desk (the hook view), /spaces inventory, /guests list.
  • Framework specifics: one pms app + config project, Django ORM + SQLite, function-based views, forms.py (ModelForm/Form validation), an initial migration, and templates with CSRF tokens. SEAM_API_KEY and SECRET_KEY read from the environment (via .env), with an obviously-fake django-insecure-* dev fallback.

Part of ENG-2920. Implements ENG-2923.

Testing

This fixture is fully excluded from the wizard's lint / tsc / tests (eslint globalIgnores(['eval/fixtures/**']), tsc excludes fixtures, .prettierignore covers eval/fixtures/, vitest never touches fixtures), so it has no wizard CI impact. Files were syntax-checked with py_compile and fixture.json validated for exact content.

Security & Compliance

No security impact — .env.example only, no real secrets; the SECRET_KEY dev fallback is a fake django-insecure-* string.

🤖 Generated with Claude Code

@itelo
itelo requested a review from razor-x as a code owner August 24, 2026 17:56
@itelo
itelo force-pushed the itelo/eng-2923-add-django-pms-eval-fixture branch from 4e2e73f to 68816e7 Compare August 24, 2026 18:08
Faithful analog of the fastapi-pms fixture, same domain (Space,
Reservation, derived Guest; half-open availability). Part of ENG-2920.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@itelo
itelo force-pushed the itelo/eng-2923-add-django-pms-eval-fixture branch from 68816e7 to e899acf Compare August 24, 2026 18:13
@itelo
itelo merged commit a7f44ac into main Aug 24, 2026
11 checks passed
@itelo
itelo deleted the itelo/eng-2923-add-django-pms-eval-fixture branch August 24, 2026 18:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant