def METHOD_NAME(self):
    # prepare fake data
    self.prepare_data()
    # schedule a real job (NewInstructorAction)
    action = NewInstructorAction(
        trigger=self.trigger,
        objects=dict(event=self.event, task=self.task),
    )
    # it's important to call `action._email()`, because it prepares
    # `action.context`
    email = action._email()
    # some cheating, normally the `action.email` is implemented in
    # `__call__`
    action.email = email
    job = self.scheduler.enqueue_in(timedelta(minutes=10), action)
    rqjob = RQJob.objects.create(job_id=job.id, trigger=self.trigger)
    # Speed up the job! Enqueue and run immediately.
    self.scheduler.enqueue_job(job)
    scheduled = scheduled_execution_time(job.id, scheduler=self.scheduler)
    # log admin user
    self._logSuperuserIn()
    url = reverse("admin:autoemails_rqjob_preview", args=[rqjob.pk])
    rv = self.client.get(url)
    self.assertEqual(rv.status_code, 200)
    # We can fetch the Job, it's coming from NewInstructorAction.__call__
    self.assertEqual(rv.context["rqjob"], rqjob)
    self.assertEqual(rv.context["job"], job)
    self.assertEqual(rv.context["job_scheduled"], scheduled)
    self.assertEqual(rv.context["instance"], action)
    self.assertEqual(rv.context["trigger"], self.trigger)
    self.assertEqual(rv.context["template"], self.trigger.template)
    # can't compare emails directly, __eq__ is not implemented
    self.assertTrue(compare_emails(rv.context["email"], email))
    self.assertEqual(rv.context["adn_context"], action.context)