Пример #1
0
 def test_accept_job_application_sent_by_authorized_prescriber_with_approval_in_waiting_period(
     self
 ):
     user = JobSeekerFactory()
     # Ended 1 year ago.
     end_at = datetime.date.today() - relativedelta(years=1)
     start_at = end_at - relativedelta(years=2)
     approval = PoleEmploiApprovalFactory(
         pole_emploi_id=user.pole_emploi_id,
         birthdate=user.birthdate,
         start_at=start_at,
         end_at=end_at,
     )
     self.assertTrue(approval.is_in_waiting_period)
     job_application = JobApplicationSentByAuthorizedPrescriberOrganizationFactory(
         job_seeker=user, state=JobApplicationWorkflow.STATE_PROCESSING
     )
     # A valid Pôle emploi ID should trigger an automatic approval delivery.
     self.assertNotEqual(job_application.job_seeker.pole_emploi_id, "")
     job_application.accept(user=job_application.to_siae.members.first())
     self.assertIsNotNone(job_application.approval)
     self.assertTrue(job_application.approval_number_sent_by_email)
     self.assertEqual(
         job_application.approval_delivery_mode,
         job_application.APPROVAL_DELIVERY_MODE_AUTOMATIC,
     )
     # Check sent email.
     self.assertEqual(len(mail.outbox), 2)
     self.assertIn("Candidature acceptée", mail.outbox[0].subject)
     self.assertIn("Délivrance d'un PASS IAE pour", mail.outbox[1].subject)
Пример #2
0
 def test_accepted_by(self):
     job_application = JobApplicationSentByAuthorizedPrescriberOrganizationFactory(
         state=JobApplicationWorkflow.STATE_PROCESSING
     )
     user = job_application.to_siae.members.first()
     job_application.accept(user=user)
     self.assertEqual(job_application.accepted_by, user)
Пример #3
0
 def test_accept_for_siae_not_subject_to_eligibility_rules(self):
     job_application = JobApplicationSentByAuthorizedPrescriberOrganizationFactory(
         state=JobApplicationWorkflow.STATE_PROCESSING, to_siae__kind=Siae.KIND_GEIQ
     )
     job_application.accept(user=job_application.to_siae.members.first())
     # Check sent email.
     self.assertEqual(len(mail.outbox), 1)
     self.assertIn("Candidature acceptée", mail.outbox[0].subject)
Пример #4
0
 def test_accept_job_application_sent_by_authorized_prescriber(self):
     job_application = JobApplicationSentByAuthorizedPrescriberOrganizationFactory(
         state=JobApplicationWorkflow.STATE_PROCESSING)
     # A valid Pôle emploi ID should trigger an automatic approval delivery.
     self.assertNotEqual(job_application.job_seeker.pole_emploi_id, "")
     job_application.accept(user=job_application.to_siae.members.first())
     self.assertIsNotNone(job_application.approval)
     self.assertTrue(job_application.approval_number_sent_by_email)
     self.assertEqual(job_application.approval_delivery_mode,
                      job_application.APPROVAL_DELIVERY_MODE_AUTOMATIC)
     # Check sent email.
     self.assertEqual(len(mail.outbox), 2)
     self.assertIn("Candidature acceptée", mail.outbox[0].subject)
     self.assertIn("Délivrance d'un PASS IAE pour", mail.outbox[1].subject)
Пример #5
0
    def test_send_number_by_email(self):

        job_application = JobApplicationSentByAuthorizedPrescriberOrganizationFactory(
            state=JobApplicationWorkflow.STATE_PROCESSING)
        job_application.accept(user=job_application.to_siae.members.first())
        approval = ApprovalFactory(job_application=job_application)

        # Delete `accept` and `accept_trigger_manual_approval` emails.
        mail.outbox = []

        approval.send_number_by_email()
        self.assertEqual(len(mail.outbox), 1)
        email = mail.outbox[0]
        self.assertIn(approval.user.get_full_name(), email.subject)
        self.assertIn(approval.user.get_full_name(), email.body)
        self.assertIn(approval.number, email.body)
Пример #6
0
 def test_send_approval_number_by_email_manually(self):
     staff_member = UserFactory(is_staff=True)
     job_seeker = JobSeekerFactory()
     approval = ApprovalFactory(user=job_seeker)
     job_application = JobApplicationSentByAuthorizedPrescriberOrganizationFactory(
         job_seeker=job_seeker,
         state=JobApplicationWorkflow.STATE_PROCESSING,
         approval=approval)
     job_application.accept(user=job_application.to_siae.members.first())
     mail.outbox = []  # Delete previous emails.
     job_application.send_approval_number_by_email_manually(
         deliverer=staff_member)
     self.assertTrue(job_application.approval_number_sent_by_email)
     self.assertIsNotNone(job_application.approval_number_sent_at)
     self.assertEqual(job_application.approval_delivery_mode,
                      job_application.APPROVAL_DELIVERY_MODE_MANUAL)
     self.assertEqual(job_application.approval_number_delivered_by,
                      staff_member)
     self.assertEqual(len(mail.outbox), 1)