From ea6892fdfb2e0fbf09994e9ebf746e475ad93c04 Mon Sep 17 00:00:00 2001 From: Adam Shimali Date: Fri, 26 Apr 2024 15:28:23 +0100 Subject: [PATCH] start testing --- application/models.py | 24 +++++++++++------------- tests/test_questions.py | 14 ++++++++++++++ 2 files changed, 25 insertions(+), 13 deletions(-) create mode 100644 tests/test_questions.py diff --git a/application/models.py b/application/models.py index 036060f..a204538 100644 --- a/application/models.py +++ b/application/models.py @@ -3,7 +3,7 @@ from enum import Enum from typing import List, Optional -from pydantic import UUID4, BaseModel, Field +from pydantic import UUID4, BaseModel, ConfigDict, Field from slugify import slugify from sqlalchemy import UUID, Boolean, Date, DateTime, ForeignKey, Integer, Text, event from sqlalchemy.dialects.postgresql import ARRAY, ENUM, JSONB @@ -225,22 +225,23 @@ def __repr__(self): class StageModel(BaseModel): + model_config = ConfigDict(from_attributes=True) + name: str value: str - class Config: - from_attributes = True - class FrequencyOfUpdatesModel(BaseModel): + model_config = ConfigDict(from_attributes=True) + name: str value: str - class Config: - from_attributes = True - class ConsiderationModel(BaseModel): + + model_config = ConfigDict(from_attributes=True) + name: str description: Optional[str] synonyms: Optional[List[str]] @@ -256,14 +257,11 @@ class ConsiderationModel(BaseModel): legislation: Optional[dict] slug: Optional[str] - class Config: - from_attributes = True - class AnswerModel(BaseModel): + + model_config = ConfigDict(from_attributes=True) + text: str consideration_id: UUID4 = Field(exclude=True) question_slug: str - - class Config: - from_attributes = True diff --git a/tests/test_questions.py b/tests/test_questions.py new file mode 100644 index 0000000..c87be41 --- /dev/null +++ b/tests/test_questions.py @@ -0,0 +1,14 @@ +from application.commands import extract_values +from application.question_sets import questions + + +def test_prev_next_slugs_are_valid(): + + for stage in questions.keys(): + qs = questions[stage] + slugs = set([next(iter(q.keys())) for q in qs]) + next_prev_slugs = set([]) + for q in qs: + extract_values(q, next_prev_slugs) + + assert next_prev_slugs.issubset(slugs)