Skip to content

Commit

Permalink
tests: add extra application to test
Browse files Browse the repository at this point in the history
  • Loading branch information
xavfernandez committed Oct 4, 2024
1 parent f7c8557 commit a588fba
Show file tree
Hide file tree
Showing 2 changed files with 199 additions and 6 deletions.
191 changes: 185 additions & 6 deletions tests/www/apply/__snapshots__/test_list_prescriptions.ambr
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# serializer version: 1
# name: test_as_unauthorized_prescriber[SQL queries for prescriptions list]
dict({
'num_queries': 22,
'num_queries': 24,
'queries': list([
dict({
'origin': list([
Expand Down Expand Up @@ -419,7 +419,8 @@
FROM "companies_jobdescription"
INNER JOIN "job_applications_jobapplication_selected_jobs" ON ("companies_jobdescription"."id" = "job_applications_jobapplication_selected_jobs"."jobdescription_id")
INNER JOIN "jobs_appellation" ON ("companies_jobdescription"."appellation_id" = "jobs_appellation"."code")
WHERE "job_applications_jobapplication_selected_jobs"."jobapplication_id" IN (%s)
WHERE "job_applications_jobapplication_selected_jobs"."jobapplication_id" IN (%s,
%s)
ORDER BY "jobs_appellation"."name" ASC,
"companies_jobdescription"."ui_rank" ASC
''',
Expand Down Expand Up @@ -847,7 +848,7 @@
"approvals_approval"."id"
ORDER BY "job_applications_jobapplication"."created_at" DESC,
"job_applications_jobapplication"."id" ASC
LIMIT 1
LIMIT 2
''',
}),
dict({
Expand Down Expand Up @@ -884,7 +885,8 @@
FROM "companies_jobdescription"
INNER JOIN "job_applications_jobapplication_selected_jobs" ON ("companies_jobdescription"."id" = "job_applications_jobapplication_selected_jobs"."jobdescription_id")
INNER JOIN "jobs_appellation" ON ("companies_jobdescription"."appellation_id" = "jobs_appellation"."code")
WHERE "job_applications_jobapplication_selected_jobs"."jobapplication_id" IN (%s)
WHERE "job_applications_jobapplication_selected_jobs"."jobapplication_id" IN (%s,
%s)
ORDER BY "jobs_appellation"."name" ASC,
"companies_jobdescription"."ui_rank" ASC
''',
Expand Down Expand Up @@ -914,7 +916,8 @@
"approvals_approval"."origin_sender_kind",
"approvals_approval"."origin_prescriber_organization_kind"
FROM "approvals_approval"
WHERE "approvals_approval"."user_id" IN (%s)
WHERE "approvals_approval"."user_id" IN (%s,
%s)
ORDER BY "approvals_approval"."start_at" DESC
''',
}),
Expand Down Expand Up @@ -965,7 +968,8 @@
"eligibility_administrativecriteria"."created_by_id"
FROM "eligibility_selectedadministrativecriteria"
INNER JOIN "eligibility_administrativecriteria" ON ("eligibility_selectedadministrativecriteria"."administrative_criteria_id" = "eligibility_administrativecriteria"."id")
WHERE "eligibility_selectedadministrativecriteria"."eligibility_diagnosis_id" IN (%s)
WHERE "eligibility_selectedadministrativecriteria"."eligibility_diagnosis_id" IN (%s,
%s)
ORDER BY "eligibility_administrativecriteria"."level" ASC,
"eligibility_administrativecriteria"."name" ASC
''',
Expand Down Expand Up @@ -1145,6 +1149,181 @@
LIMIT 1
''',
}),
dict({
'origin': list([
'CommonApprovalQuerySet.first[<site-packages>/django/db/models/query.py]',
'User.latest_pe_approval[users/models.py]',
'User.has_valid_common_approval[users/models.py]',
'RelatedManager.has_considered_valid[eligibility/models/iae.py]',
'User.has_valid_diagnosis[users/models.py]',
'JobApplication.eligibility_diagnosis_by_siae_required[job_applications/models.py]',
'_add_eligibility_diagnosis_required[www/apply/views/list_views.py]',
'list_prescriptions[www/apply/views/list_views.py]',
]),
'sql': '''
SELECT "approvals_poleemploiapproval"."id",
"approvals_poleemploiapproval"."start_at",
"approvals_poleemploiapproval"."end_at",
"approvals_poleemploiapproval"."created_at",
"approvals_poleemploiapproval"."pe_notification_status",
"approvals_poleemploiapproval"."pe_notification_time",
"approvals_poleemploiapproval"."pe_notification_endpoint",
"approvals_poleemploiapproval"."pe_notification_exit_code",
"approvals_poleemploiapproval"."pe_structure_code",
"approvals_poleemploiapproval"."number",
"approvals_poleemploiapproval"."pole_emploi_id",
"approvals_poleemploiapproval"."first_name",
"approvals_poleemploiapproval"."last_name",
"approvals_poleemploiapproval"."birth_name",
"approvals_poleemploiapproval"."birthdate",
"approvals_poleemploiapproval"."nir",
"approvals_poleemploiapproval"."ntt_nia",
"approvals_poleemploiapproval"."siae_siret",
"approvals_poleemploiapproval"."siae_kind"
FROM "approvals_poleemploiapproval"
WHERE ("approvals_poleemploiapproval"."nir" = %s
AND NOT ("approvals_poleemploiapproval"."number" IN
(SELECT U0."number"
FROM "approvals_approval" U0
WHERE U0."user_id" = %s)))
ORDER BY "approvals_poleemploiapproval"."end_at" DESC,
"approvals_poleemploiapproval"."start_at" ASC
LIMIT 1
''',
}),
dict({
'origin': list([
'EligibilityDiagnosisQuerySet.first[<site-packages>/django/db/models/query.py]',
'RelatedManager.last_considered_valid[eligibility/models/iae.py]',
'RelatedManager.has_considered_valid[eligibility/models/iae.py]',
'User.has_valid_diagnosis[users/models.py]',
'JobApplication.eligibility_diagnosis_by_siae_required[job_applications/models.py]',
'_add_eligibility_diagnosis_required[www/apply/views/list_views.py]',
'list_prescriptions[www/apply/views/list_views.py]',
]),
'sql': '''
SELECT "eligibility_eligibilitydiagnosis"."id",
"eligibility_eligibilitydiagnosis"."author_id",
"eligibility_eligibilitydiagnosis"."author_kind",
"eligibility_eligibilitydiagnosis"."author_prescriber_organization_id",
"eligibility_eligibilitydiagnosis"."created_at",
"eligibility_eligibilitydiagnosis"."updated_at",
"eligibility_eligibilitydiagnosis"."expires_at",
"eligibility_eligibilitydiagnosis"."job_seeker_id",
"eligibility_eligibilitydiagnosis"."author_siae_id",
CASE
WHEN "eligibility_eligibilitydiagnosis"."author_kind" = %s THEN %s
ELSE %s
END AS "from_prescriber",
T4."id",
T4."password",
T4."last_login",
T4."is_superuser",
T4."username",
T4."first_name",
T4."last_name",
T4."is_staff",
T4."is_active",
T4."date_joined",
T4."address_line_1",
T4."address_line_2",
T4."post_code",
T4."city",
T4."department",
T4."coords",
T4."geocoding_score",
T4."geocoding_updated_at",
T4."ban_api_resolved_address",
T4."insee_city_id",
T4."title",
T4."email",
T4."phone",
T4."kind",
T4."identity_provider",
T4."has_completed_welcoming_tour",
T4."created_by_id",
T4."external_data_source_history",
T4."last_checked_at",
T4."public_id",
T4."address_filled_at",
T4."first_login",
"prescribers_prescriberorganization"."id",
"prescribers_prescriberorganization"."address_line_1",
"prescribers_prescriberorganization"."address_line_2",
"prescribers_prescriberorganization"."post_code",
"prescribers_prescriberorganization"."city",
"prescribers_prescriberorganization"."department",
"prescribers_prescriberorganization"."coords",
"prescribers_prescriberorganization"."geocoding_score",
"prescribers_prescriberorganization"."geocoding_updated_at",
"prescribers_prescriberorganization"."ban_api_resolved_address",
"prescribers_prescriberorganization"."insee_city_id",
"prescribers_prescriberorganization"."name",
"prescribers_prescriberorganization"."created_at",
"prescribers_prescriberorganization"."updated_at",
"prescribers_prescriberorganization"."uid",
"prescribers_prescriberorganization"."active_members_email_reminder_last_sent_at",
"prescribers_prescriberorganization"."siret",
"prescribers_prescriberorganization"."is_head_office",
"prescribers_prescriberorganization"."kind",
"prescribers_prescriberorganization"."is_brsa",
"prescribers_prescriberorganization"."phone",
"prescribers_prescriberorganization"."email",
"prescribers_prescriberorganization"."website",
"prescribers_prescriberorganization"."description",
"prescribers_prescriberorganization"."is_authorized",
"prescribers_prescriberorganization"."code_safir_pole_emploi",
"prescribers_prescriberorganization"."created_by_id",
"prescribers_prescriberorganization"."authorization_status",
"prescribers_prescriberorganization"."authorization_updated_at",
"prescribers_prescriberorganization"."authorization_updated_by_id",
"companies_company"."id",
"companies_company"."address_line_1",
"companies_company"."address_line_2",
"companies_company"."post_code",
"companies_company"."city",
"companies_company"."department",
"companies_company"."coords",
"companies_company"."geocoding_score",
"companies_company"."geocoding_updated_at",
"companies_company"."ban_api_resolved_address",
"companies_company"."insee_city_id",
"companies_company"."name",
"companies_company"."created_at",
"companies_company"."updated_at",
"companies_company"."uid",
"companies_company"."active_members_email_reminder_last_sent_at",
"companies_company"."siret",
"companies_company"."naf",
"companies_company"."kind",
"companies_company"."brand",
"companies_company"."phone",
"companies_company"."email",
"companies_company"."auth_email",
"companies_company"."website",
"companies_company"."description",
"companies_company"."provided_support",
"companies_company"."source",
"companies_company"."created_by_id",
"companies_company"."block_job_applications",
"companies_company"."job_applications_blocked_at",
"companies_company"."convention_id",
"companies_company"."job_app_score",
"companies_company"."rdv_solidarites_id"
FROM "eligibility_eligibilitydiagnosis"
LEFT OUTER JOIN "companies_company" ON ("eligibility_eligibilitydiagnosis"."author_siae_id" = "companies_company"."id")
INNER JOIN "users_user" T4 ON ("eligibility_eligibilitydiagnosis"."author_id" = T4."id")
LEFT OUTER JOIN "prescribers_prescriberorganization" ON ("eligibility_eligibilitydiagnosis"."author_prescriber_organization_id" = "prescribers_prescriberorganization"."id")
WHERE ("eligibility_eligibilitydiagnosis"."job_seeker_id" = %s
AND ("eligibility_eligibilitydiagnosis"."author_kind" = %s
OR "eligibility_eligibilitydiagnosis"."author_siae_id" = %s)
AND "eligibility_eligibilitydiagnosis"."job_seeker_id" = %s
AND "eligibility_eligibilitydiagnosis"."expires_at" > %s)
ORDER BY 10 DESC,
"eligibility_eligibilitydiagnosis"."created_at" DESC
LIMIT 1
''',
}),
dict({
'origin': list([
'Atomic.__exit__[<site-packages>/django/db/transaction.py]',
Expand Down
14 changes: 14 additions & 0 deletions tests/www/apply/test_list_prescriptions.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,14 @@ def test_as_unauthorized_prescriber(client, snapshot):
sender=prescriber,
sender_kind=SenderKind.PRESCRIBER,
)
another_job_application = JobApplicationFactory(
job_seeker_with_address=True,
job_seeker__first_name="Liz",
job_seeker__last_name="Ible",
job_seeker__created_by=prescriber, # to check for useless queries
sender=prescriber,
sender_kind=SenderKind.PRESCRIBER,
)
client.force_login(prescriber)

list_url = reverse("apply:list_prescriptions")
Expand All @@ -92,6 +100,12 @@ def test_as_unauthorized_prescriber(client, snapshot):
assertContains(response, f'<a href="{job_seeker_detail_url}?back_url={list_url}" class="btn-link">S… U…</a>')
# Unfortunately, the job seeker's name is available in the filters
# assertNotContains(response, "Supersecretname")
another_job_seeker_detail_url = reverse(
"job_seekers_views:details", kwargs={"public_id": another_job_application.job_seeker.public_id}
)
assertContains(
response, f'<a href="{another_job_seeker_detail_url}?back_url={list_url}" class="btn-link">Liz IBLE</a>'
)


def test_filtered_by_state(client):
Expand Down

0 comments on commit a588fba

Please sign in to comment.