def test_base(self): jobvite_1 = JobvitePositionFactory.create(job_type='aaa') workable_1 = WorkablePositionFactory.create(job_type='aaa') jobvite_2 = JobvitePositionFactory.create(job_type='bbb') job_types = utils.get_all_position_types() eq_(job_types, ['aaa', 'bbb'])
def test_orderby(self): jobvite_1 = JobvitePositionFactory.create(title='aaa', location='b') workable_1 = WorkablePositionFactory.create(title='bbb', location='c') jobvite_2 = JobvitePositionFactory.create(title='ccc', location='a') positions = utils.get_all_positions(order_by=lambda x: x.location) self.assertEqual(positions, [jobvite_2, jobvite_1, workable_1])
def test_filters(self): jobvite_1 = JobvitePositionFactory.create(title='aaa') jobvite_2 = JobvitePositionFactory.create(title='bbb') workable_1 = WorkablePositionFactory.create(title='aaa') positions = utils.get_all_positions(filters={'title__contains': 'aaa'}) eq_(positions, [jobvite_1, workable_1])
def test_base(self): JobvitePositionFactory.create(job_type='aaa') WorkablePositionFactory.create(job_type='aaa') JobvitePositionFactory.create(job_type='bbb') job_types = utils.get_all_position_types() self.assertEqual(job_types, ['aaa', 'bbb'])
def test_base(self): jobvite_1 = JobvitePositionFactory.create(title='Abc') jobvite_2 = JobvitePositionFactory.create(title='Def') workable_1 = WorkablePositionFactory.create(title='Bcd') positions = utils.get_all_positions() self.assertEqual(positions, [jobvite_1, workable_1, jobvite_2])
def test_filters(self): jobvite_1 = JobvitePositionFactory.create(title='aaa') JobvitePositionFactory.create(title='bbb') workable_1 = WorkablePositionFactory.create(title='aaa') positions = utils.get_all_positions(filters={'title__contains': 'aaa'}) self.assertEqual(set(positions), set([jobvite_1, workable_1]))
def test_position_case_sensitive_match(self): """ Validate that a position match is returned from a case-sensitive job id and it doesn't raise a multiple records error. """ job_id_1 = 'oflWVfwb' job_id_2 = 'oFlWVfwB' PositionFactory.create(job_id=job_id_1) PositionFactory.create(job_id=job_id_2) url = reverse('careers.position', kwargs={ 'job_id': job_id_1, 'source': 'gh' }) response = self.client.get(url, follow=True) self.assertEqual(response.status_code, 200) self.assertEqual(response.context_data['position'].job_id, job_id_1) url = reverse('careers.position', kwargs={ 'job_id': job_id_2, 'source': 'gh' }) response = self.client.get(url, follow=True) self.assertEqual(response.status_code, 200) self.assertEqual(response.context_data['position'].job_id, job_id_2)
def test_open_for_applications(self): """ If there are positions in the Intern category, open_for_applications should be True. """ PositionFactory.create(job_type='Intern') response, context = self._index() ok_(context['open_for_applications'])
def test_closed_for_applications_param(self): """ If the open_for_applications GET parameter is set to 'false', open_for_applications should be False, even if there are intern positions. """ PositionFactory.create(job_type='Intern') response, context = self._index(open_for_applications='false') ok_(not context['open_for_applications'])
def test_job_removal(self): PositionFactory.create(job_id='xxx') PositionFactory.create(job_id='yyy') jobs_response = { 'jobs': [ { 'id': 'xxx', 'title': 'Web Fox', 'absolute_url': 'http://example.com/foo' }, ] } with patch(REQUESTS) as requests: requests.get().json.return_value = jobs_response call_command('sync_greenhouse', stdout=StringIO()) self.assertEqual(Position.objects.all().count(), 1) self.assertEqual(Position.objects.all()[0].job_id, 'xxx')
def test_position_case_sensitive_match(self): """ Validate that a position match is returned from a case-sensitive job id and it doesn't raise a multiple records error. """ job_id_1 = 'oflWVfwb' job_id_2 = 'oFlWVfwB' JobvitePositionFactory.create(job_id=job_id_1) JobvitePositionFactory.create(job_id=job_id_2) url = reverse('careers.position', kwargs={'job_id': job_id_1}) response = self.client.get(url, follow=True) self.assertEqual(response.status_code, 200) self.assertEqual(response.context_data['position'].job_id, job_id_1) url = reverse('careers.position', kwargs={'job_id': job_id_2}) response = self.client.get(url, follow=True) self.assertEqual(response.status_code, 200) self.assertEqual(response.context_data['position'].job_id, job_id_2)
def test_dynamic_position_type_choices(self): """ The choices for the position_type field should be dynamically generated from the available values in the database. """ PositionFactory.create(job_type='Foo') PositionFactory.create(job_type='Bar') PositionFactory.create(job_type='Baz') PositionFactory.create(job_type='Foo') PositionFactory.create(job_type='Biff') form = PositionFilterForm() eq_(form.fields['position_type'].choices, [ ('', 'All Positions'), ('Bar', 'Bar'), # Alphabetical order ('Baz', 'Baz'), ('Biff', 'Biff'), ('Foo', 'Foo'), ])
def test_career_feed(self): job_id_1 = 'oflWVfwb' job_id_2 = 'oFlWVfwB' job_1 = PositionFactory.create(job_id=job_id_1) job_2 = PositionFactory.create(job_id=job_id_2) url = reverse('careers.feed') response = self.client.get(url) self.assertEqual(response['Content-Type'], 'application/rss+xml; charset=utf-8') self.assertEqual(response.status_code, 200) content = response.content.decode('utf-8') self.assertIn(reverse('careers.listings'), content) self.assertIn(url, content) for job in [job_1, job_2]: self.assertIn(job.title, content) self.assertIn(job.description, content) self.assertIn(job.department, content) self.assertIn(job.get_absolute_url(), content)
def test_career_feed(self): job_id_1 = 'oflWVfwb' job_id_2 = 'oFlWVfwB' job_1 = JobvitePositionFactory.create(job_id=job_id_1) job_2 = JobvitePositionFactory.create(job_id=job_id_2) url = reverse('careers.feed') response = self.client.get(url) self.assertEqual(response['Content-Type'], 'application/rss+xml; charset=utf-8') self.assertEqual(response.status_code, 200) content = response.content.decode('utf-8') self.assertIn(reverse('careers.listings'), content) self.assertIn(url, content) for job in [job_1, job_2]: self.assertIn(job.title, content) self.assertIn(job.description, content) self.assertIn(job.category.name, content) self.assertIn(job.get_absolute_url(), content)
def test_ok(self): PositionFactory.create() response = self.client.get(reverse('healthz')) self.assertEqual(response.status_code, 200)
def setUp(self): self.position = PositionFactory.create( title='Bowler', position_type='Full time', location='Los Angeles,Ralphs')