class JobTest_01(TestCase): @patch("pyjobs.core.models.post_telegram_channel") def setUp(self, _mocked_post_telegram_channel): self.job = Job( title="Vaga 1", workplace="Sao Paulo", company_name="XPTO", application_link="http://www.xpto.com.br/apply", company_email="*****@*****.**", description="Job bem maneiro", ) self.job.save() def test_job_created(self): self.assertTrue(Job.objects.exists()) def test_job_created_at(self): self.assertIsInstance(self.job.created_at, datetime) def test_job_str(self): self.assertEqual(str(self.job), "Vaga 1") def test_job_application_link(self): self.assertEqual(str(self.job.get_application_link()), "http://www.xpto.com.br/apply")
class JobTest_03(TestCase): @patch("pyjobs.marketing.triggers.send_group_notification") @patch("pyjobs.marketing.triggers.send_job_to_github_issues") @patch("pyjobs.marketing.triggers.post_telegram_channel") def setUp(self, _mocked_send_group_push, _mock_github, _mocked_post_telegram_channel): self.job = Job( title="Vaga 3", workplace="Sao Paulo", company_name="XPTO", company_email="*****@*****.**", description="Job bem maneiro", premium=True, public=True, ) self.job.save() self.job.premium_at = self.job.created_at self.job.save() def test_job_application_link(self): self.assertEqual(False, self.job.get_application_link()) def test_premium_available(self): self.assertTrue((self.job in Job.get_premium_jobs())) def test_publicly_available(self): self.assertTrue((self.job not in Job.get_publicly_available_jobs()))
class JobTest_01(TestCase): @patch("pyjobs.marketing.triggers.send_group_notification") @patch("pyjobs.marketing.triggers.send_job_to_github_issues") @patch("pyjobs.marketing.triggers.post_telegram_channel") def setUp(self, _mocked_send_group_push, _mock_github, _mocked_post_telegram_channel): self.job = Job( title="Vaga 1", workplace="Sao Paulo", company_name="XPTO", application_link="http://www.xpto.com.br/apply", company_email="*****@*****.**", description="Job bem maneiro", ) self.job.save() self.email, *_ = mail.outbox def test_job_created(self): self.assertTrue(Job.objects.exists()) def test_job_created_at(self): self.assertIsInstance(self.job.created_at, datetime) def test_job_str(self): self.assertEqual( str(self.job), f"{self.job.title} - {self.job.company_name} - {self.job.pk}") def test_job_application_link(self): self.assertEqual(str(self.job.get_application_link()), "http://www.xpto.com.br/apply") def test_job_url_is_sent_in_the_email(self): self.assertIn("/job/{}/".format(self.job.pk), self.email.body) def test_close_hash(self): value = "::".join( ("close", "Foo Bar", str(self.job.pk), str(self.job.created_at))) hash_obj = sha512(value.encode("utf-8")) self.assertEqual(self.job.close_hash("Foo Bar"), hash_obj.hexdigest()) def test_close_url(self): self.assertEqual( f"/job/close/{self.job.pk}/{self.job.close_hash()}/", self.job.get_close_url(), ) def test_close_url_is_sent_in_the_email(self): self.assertIn(self.job.get_close_url(), self.email.body)
class JobTest_02(TestCase): @patch("pyjobs.core.models.post_telegram_channel") def setUp(self, _mocked_post_telegram_channel): self.job = Job( title="Vaga 2", workplace="Sao Paulo", company_name="XPTO", company_email="*****@*****.**", description="Job bem maneiro", public=True, ) self.job.save() def test_job_application_link(self): self.assertEqual(False, self.job.get_application_link()) def test_publicly_available(self): self.assertTrue((self.job in Job.get_publicly_available_jobs())) def test_premium_available(self): self.assertTrue((self.job not in Job.get_premium_jobs()))