Skip to content

Commit

Permalink
chore: cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
shon-button committed Jan 24, 2025
1 parent 40dc901 commit 1c5ce43
Show file tree
Hide file tree
Showing 10 changed files with 71 additions and 407 deletions.
4 changes: 2 additions & 2 deletions bc_obps/registration/tests/models/test_user.py
Original file line number Diff line number Diff line change
Expand Up @@ -142,13 +142,13 @@ def setUpTestData(cls):
("reportnewentrantproduction_archived", "report new entrant production", None, None),
("reportnewentrant_created", "report new entrant", None, None),
("reportnewentrant_updated", "report new entrant", None, None),
("reportnewentrant_archived", "report new entrant", None, None),
("reportnewentrant_archived", "report new entrant", None, None),
("reportverification_created", "report verification", None, None),
("reportverification_updated", "report verification", None, None),
("reportverification_archived", "report verification", None, None),
("reportverificationvisit_created", "report verification visit", None, None),
("reportverificationvisit_updated", "report verification visit", None, None),
("reportverificationvisit_archived", "report verification visit", None, None),
("reportverificationvisit_archived", "report verification visit", None, None),
("reportattachment_created", "report attachment", None, None),
("reportattachment_updated", "report attachment", None, None),
("reportattachment_archived", "report attachment", None, None),
Expand Down
3 changes: 2 additions & 1 deletion bc_obps/reporting/api/report_verification.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from reporting.schema.generic import Message
from service.error_service.custom_codes_4xx import custom_codes_4xx
from .router import router
from reporting.schema.report_verification import ReportVerificationIn, ReportVerificationOut, ReportVerificationVisit
from reporting.schema.report_verification import ReportVerificationIn, ReportVerificationOut
from reporting.service.report_verification_service import ReportVerificationService
from reporting.models import ReportVerification

Expand All @@ -29,6 +29,7 @@ def get_report_verification_by_version_id(
print(f"Error occurred: {e}")
raise


@router.get(
"/report-version/{report_version_id}/report-needs-verification",
response={200: bool, custom_codes_4xx: Message},
Expand Down
3 changes: 1 addition & 2 deletions bc_obps/reporting/models/report_verification_visit.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ class VisitType(models.TextChoices):
blank=True,
db_comment="The type of visit conducted (Virtual or In Person)",
)

visit_coordinates = models.CharField(
max_length=100,
null=True,
Expand All @@ -43,7 +43,6 @@ class VisitType(models.TextChoices):
db_comment="Flag to indicate the visit is an other facility visited",
default=False,
)


class Meta:
db_table = 'erc"."verification_visit'
Expand Down
6 changes: 3 additions & 3 deletions bc_obps/reporting/schema/report_verification.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ class Meta:
'verification_conclusion',
]

class ReportVerificationVisit(ModelSchema):
class ReportVerificationVisitSchema(ModelSchema):
"""
Schema for ReportVerificationVisit model
"""
Expand All @@ -50,7 +50,7 @@ class ReportVerificationIn(BaseReportVerification):
Schema for the input of report verification data
"""

report_verification_visits: List[ReportVerificationVisit] = Field(
report_verification_visits: List[ReportVerificationVisitSchema] = Field(
default_factory=list
)

Expand All @@ -60,7 +60,7 @@ class ReportVerificationOut(BaseReportVerification):
Schema for the output of report verification data
"""

report_verification_visits: List[ReportVerificationVisit] = Field(default_factory=list)
report_verification_visits: List[ReportVerificationVisitSchema] = Field(default_factory=list)

class Meta(BaseReportVerification.Meta):
fields = BaseReportVerification.Meta.fields + ['report_version']
10 changes: 5 additions & 5 deletions bc_obps/reporting/service/report_verification_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ def get_report_verification_by_version_id(
ReportVerificationOut schema
"""
report_verification = ReportVerification.objects.get(report_version__id=report_version_id)
# report_verification.report_verification_visits = report_verification.report_verification_visits.all()
# report_verification.report_verification_visits = report_verification.report_verification_visits.all()
return report_verification

@staticmethod
Expand Down Expand Up @@ -78,10 +78,10 @@ def save_report_verification(version_id: int, data: ReportVerificationIn) -> Rep
visit_ids_to_keep.append(visit.id)

# Delete any visits not included in the provided data
ReportVerificationVisit.objects.filter(
report_verification=report_verification
).exclude(id__in=visit_ids_to_keep).delete()
ReportVerificationVisit.objects.filter(report_verification=report_verification).exclude(
id__in=visit_ids_to_keep
).delete()

# Fetch ReportVerificationVisit instances corresponding to the IDs
visit_instances_to_keep = ReportVerificationVisit.objects.filter(id__in=visit_ids_to_keep)

Expand Down
37 changes: 18 additions & 19 deletions bc_obps/reporting/tests/api/test_report_verification_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
from unittest.mock import patch, MagicMock, AsyncMock
from registration.tests.utils.helpers import CommonTestSetup, TestUtils
from registration.utils import custom_reverse_lazy
from reporting.models import ReportVerificationVisit
from reporting.schema.report_verification import ReportVerificationIn
from reporting.models.report_verification import ReportVerification

Expand All @@ -11,7 +10,7 @@ class TestSaveReportVerificationApi(CommonTestSetup):
def setup_method(self):
self.report_version = baker.make_recipe('reporting.tests.utils.report_version')
self.report_verification = baker.make_recipe('reporting.tests.utils.report_verification')

# Create related ReportVerificationVisit instances and link them
report_verification_visits = baker.make_recipe(
"reporting.tests.utils.report_verification_visit",
Expand Down Expand Up @@ -58,9 +57,9 @@ def test_returns_verification_data_for_report_version_id(
assert response_json["accredited_by"] == self.report_verification.accredited_by
assert response_json["scope_of_verification"] == self.report_verification.scope_of_verification
assert response_json["threats_to_independence"] == self.report_verification.threats_to_independence
assert response_json["verification_conclusion"] == self.report_verification.verification_conclusion
assert response_json["verification_conclusion"] == self.report_verification.verification_conclusion
assert len(response_json["report_verification_visits"]) == 2

"""Tests for the get_report_needs_verification endpoint."""

@patch("reporting.service.report_verification_service.ReportVerificationService.get_report_needs_verification")
Expand Down Expand Up @@ -128,28 +127,28 @@ def test_returns_data_as_provided_by_the_service(
threats_to_independence=False,
verification_conclusion="Positive", # VerificationConclusion choices: "Positive", "Modified", "Negative"
report_verification_visits=[ # Including visits in the payload
{
"visit_name": "Visit 1",
"visit_type": "In person",
"visit_coordinates": "123.456, 789.101",
"is_other_visit": True,
},
{
"visit_name": "Visit 2",
"visit_type": "Virtual",
"visit_coordinates": "",
"is_other_visit": False,
},
],
{
"visit_name": "Visit 1",
"visit_type": "In person",
"visit_coordinates": "123.456, 789.101",
"is_other_visit": True,
},
{
"visit_name": "Visit 2",
"visit_type": "Virtual",
"visit_coordinates": "",
"is_other_visit": False,
},
],
)
mock_response = ReportVerification(
report_version=self.report_version,
verification_body_name=payload.verification_body_name,
accredited_by=payload.accredited_by,
scope_of_verification=payload.scope_of_verification,
threats_to_independence=payload.threats_to_independence,
verification_conclusion=payload.verification_conclusion,
)
verification_conclusion=payload.verification_conclusion,
)

mock_save_report_verification.return_value = mock_response

Expand Down
2 changes: 1 addition & 1 deletion bc_obps/reporting/tests/utils/baker_recipes.py
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ def json_seq(json_key="generated_json", json_value="test json value", seq_value:
ReportVerificationVisit,
report_verification=foreign_key(report_verification),
visit_name="Default Visit Name",
visit_type=ReportVerificationVisit.VisitType.IN_PERSON,
visit_type=ReportVerificationVisit.VisitType.IN_PERSON,
visit_coordinates="",
is_other_visit=False,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,34 +27,31 @@ export default async function VerificationPage({
// 🚀 Fetch initial form data
const initialData = (await getReportVerification(version_id)) || {};

// 🔄 Add the visit_names property conditionally based on operationType
// 🔄 Add properties conditionally based on operationType
if (operationType === "LFO") {
// Add the visit_names property
initialData.visit_names = (initialData.report_verification_visits || [])
.filter((visit: { is_other_visit: boolean }) => !visit.is_other_visit)
.map((visit: { visit_name: string }) => visit.visit_name);

if (
(initialData.report_verification_visits || []).some(
(visit: { is_other_visit: boolean }) => visit.is_other_visit,
)
) {
initialData.visit_names.push("Other");
}
}
{
//TODO
}

// 🔄 Add the visit_types property conditionally based on operationType
if (operationType === "LFO") {
// Add the visit_types property
initialData.visit_types = (initialData.report_verification_visits || [])
.filter((visit: { is_other_visit: boolean }) => !visit.is_other_visit)
.filter(
(visit: { is_other_visit: boolean; visit_name: string }) =>
!visit.is_other_visit && visit.visit_name !== "None",
)
.map((visit: { visit_name: string; visit_type: string }) => ({
visit_name: visit.visit_name,
visit_type: visit.visit_type,
}));

// 🔄 Add the visit_others property
// Add the visit_others property
initialData.visit_others = (
initialData.report_verification_visits || []
).some((visit: { is_other_visit: boolean }) => visit.is_other_visit)
Expand All @@ -73,7 +70,37 @@ export default async function VerificationPage({
)
: [{}];
} else {
//TODO
const visit = initialData.report_verification_visits?.[0];
// Add the visit_names property
if (visit) {
if (visit.is_other_visit) {
initialData.visit_names = "Other";
} else {
initialData.visit_names = visit.visit_name;
}
// Add the visit_others property
if (visit && !visit.is_other_visit && visit.visit_name !== "None") {
initialData.visit_types = visit.visit_type;
} else {
initialData.visit_types = undefined;
}
// Add the visit_others property
if (visit && visit.is_other_visit) {
initialData.visit_others = [
{
visit_name: visit.visit_name,
visit_coordinates: visit.visit_coordinates,
visit_type: visit.visit_type,
},
];
} else {
initialData.visit_others = [{}];
}
} else {
initialData.visit_names = undefined;
initialData.visit_types = undefined;
initialData.visit_others = [{}];
}
}

// 🚀 Fetch the list of facilities associated with the specified version ID
Expand Down
Loading

0 comments on commit 1c5ce43

Please sign in to comment.