Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding serializers, tests, and minor refactoring #4733

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 24 additions & 5 deletions backend/api/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -281,20 +281,39 @@ class AccessListSerializer(serializers.ModelSerializer):
report_id = serializers.SerializerMethodField()
submission_status = serializers.SerializerMethodField()

# TODO: Update Post SOC Launch
def get_auditee_uei(self, access):
return access.sac.auditee_uei
return (
access.audit.audit.get("general_information", {}).get("auditee_uei", None)
if access.audit
else access.sac.auditee_uei
)

def get_auditee_fiscal_period_end(self, access):
return access.sac.auditee_fiscal_period_end
return (
access.audit.audit.get("general_information", {}).get(
"auditee_fiscal_period_end", None
)
if access.audit
else access.sac.auditee_fiscal_period_end
)

def get_auditee_name(self, access):
return access.sac.auditee_name
return (
access.audit.audit.get("general_information", {}).get("auditee_name", None)
if access.audit
else access.sac.auditee_name
)

def get_report_id(self, access):
return access.sac.report_id
return access.audit.report_id if access.audit else access.sac.report_id

def get_submission_status(self, access):
return access.sac.submission_status
return (
access.audit.submission_status
if access.audit
else access.sac.submission_status
)

class Meta:
model = Access
Expand Down
44 changes: 39 additions & 5 deletions backend/api/test_serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -574,14 +574,48 @@ def test_expected_fields_included(self):

serializer = AccessListSerializer(access)

self.assertEqual(serializer.data["auditee_uei"], access.sac.auditee_uei)
# TODO: Update Post SOC Launch
# remove if/else when we deprecate SAC data.
self.assertEqual(
serializer.data["auditee_uei"],
(
access.audit.audit.get("general_information", {}).get(
"auditee_uei", None
)
if access.audit
else access.sac.auditee_uei
),
)
self.assertEqual(
serializer.data["auditee_fiscal_period_end"],
access.sac.auditee_fiscal_period_end,
(
access.audit.audit.get("general_information", {}).get(
"auditee_fiscal_period_end", None
)
if access.audit
else access.sac.auditee_fiscal_period_end
),
)
self.assertEqual(
serializer.data["auditee_name"],
(
access.audit.audit.get("general_information", {}).get(
"auditee_name", None
)
if access.audit
else access.sac.auditee_name
),
)
self.assertEqual(
serializer.data["report_id"],
access.audit.report_id if access.audit else access.sac.report_id,
)
self.assertEqual(serializer.data["auditee_name"], access.sac.auditee_name)
self.assertEqual(serializer.data["report_id"], access.sac.report_id)
self.assertEqual(
serializer.data["submission_status"], access.sac.submission_status
serializer.data["submission_status"],
(
access.audit.submission_status
if access.audit
else access.sac.submission_status
),
)
self.assertEqual(serializer.data["role"], access.role)
6 changes: 3 additions & 3 deletions backend/audit/models/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,12 @@ class STATUS:
)


class AUDIT_TYPE:
class AuditType:
SINGLE_AUDIT = "single_audit"
PROGRAM_SPECIFIC = "program_specific"


AUDIT_TYPE_CODES = (
(AUDIT_TYPE.SINGLE_AUDIT, _("Single Audit")),
(AUDIT_TYPE.PROGRAM_SPECIFIC, _("Program-Specific Audit")),
(AuditType.SINGLE_AUDIT, _("Single Audit")),
(AuditType.PROGRAM_SPECIFIC, _("Program-Specific Audit")),
)
6 changes: 4 additions & 2 deletions backend/audit/test_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
User,
generate_sac_report_id,
)
from audit.models import Audit
from .models.models import STATUS
from .models.viewflow import sac_transition, SingleAuditChecklistFlow

Expand Down Expand Up @@ -228,9 +229,10 @@ def test_access_creation_non_unique_emails(self):
baker.make(User, email="[email protected]")
baker.make(User, email="[email protected]")

sac = baker.make(SingleAuditChecklist)

audit = baker.make(Audit, version=0)
sac = baker.make(SingleAuditChecklist, audit_type="single-audit")
access = Access.objects.create(
audit=audit,
sac=sac,
role="editor",
email="[email protected]",
Expand Down