44 lines
1.4 KiB
Python
44 lines
1.4 KiB
Python
"""Projection of `tabs.application.researchEvidenceKind` onto list rows (no DB).
|
|
|
|
Run: cd be0 && python -m unittest tests.test_submissions_projection_research_kind -v
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
import unittest
|
|
import uuid
|
|
from datetime import datetime, timezone
|
|
from types import SimpleNamespace
|
|
|
|
|
|
class SubmissionsResearchEvidenceKindProjectionTests(unittest.TestCase):
|
|
def test_poster_without_review_round_trips_on_api_row(self) -> None:
|
|
from src.initiative_db.submissions import _as_submission_item
|
|
|
|
ini = SimpleNamespace(
|
|
id=uuid.uuid4(),
|
|
case_code="CASE-PROJ-RK",
|
|
status="submitted",
|
|
submitted_at=datetime(2026, 1, 1, 12, 0, 0, tzinfo=timezone.utc),
|
|
)
|
|
payload = {
|
|
"submissionRecord": {
|
|
"id": "sub-deadbeefcafe",
|
|
"submittedDate": "2026-01-01T12:00:00.000Z",
|
|
"name": "Test",
|
|
},
|
|
"tabs": {
|
|
"application": {
|
|
"initiativeClassification": "research",
|
|
"researchEvidenceKind": "poster-without-review",
|
|
}
|
|
},
|
|
}
|
|
row = _as_submission_item(ini, payload) # type: ignore[arg-type]
|
|
self.assertEqual(row.get("researchEvidenceKind"), "poster-without-review")
|
|
self.assertEqual(row.get("initiativeClassification"), "research")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|