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_existing_job_gets_updated(self): category = CategoryFactory.create(name='test category') PositionFactory.create(shortcode='foo', category=category) data = {'jobs': [{'state': 'published', 'shortcode': 'foo'}]} position_data = { 'employment_type': 'type', 'shortcode': 'foo', 'title': 'title', 'shortlink': 'http://foo.bar', 'location': { 'city': 'Paradise', 'telecommuting': True }, 'application_url': 'http://example.com', 'full_description': '<h3>title</h3> test' } with patch(self.spec) as requests_mock: requests_mock.get().json.side_effect = [data, position_data] self.command.handle() self.assertEqual(requests_mock.get.call_count, 3) position = Position.objects.get(shortcode='foo') self.assertEqual(position.job_type, 'type') self.assertEqual(position.title, 'title') self.assertEqual(position.detail_url, 'http://foo.bar') self.assertEqual(position.apply_url, 'http://example.com') self.assertEqual(position.location, 'Paradise, Remote') self.assertEqual(position.description, 'title test') self.assertEqual(Position.objects.all().count(), 1) self.assertEqual(Category.objects.all().count(), 1) self.assertEqual(Category.objects.all()[0].name, 'Mozilla Foundation')
def test_existing_job_gets_updated(self): category = CategoryFactory.create(name='test category') PositionFactory.create(shortcode='foo', category=category) data = {'jobs': [{'state': 'published', 'shortcode': 'foo'}]} position_data = {'employment_type': 'type', 'shortcode': 'foo', 'title': 'title', 'shortlink': 'http://foo.bar', 'location': {'city': 'Paradise', 'telecommuting': True}, 'application_url': 'http://example.com', 'full_description': '<h3>title</h3> test'} with patch(self.spec) as requests_mock: requests_mock.get().json.side_effect = [data, position_data] self.command.handle() eq_(requests_mock.get.call_count, 3) position = Position.objects.get(shortcode='foo') eq_(position.job_type, 'type') eq_(position.title, 'title') eq_(position.detail_url, 'http://foo.bar') eq_(position.apply_url, 'http://example.com') eq_(position.location, 'Paradise, Remote') eq_(position.description, 'title test') eq_(Position.objects.all().count(), 1) eq_(Category.objects.all().count(), 1) eq_(Category.objects.all()[0].name, 'Mozilla Foundation')
def test_base(self): position_1 = WorkablePositionFactory.create(title='bbb') position_2 = WorkablePositionFactory.create(category=position_1.category, title='aaa') status = self.client.get(reverse('careers.workable_position', kwargs={'shortcode': position_1.shortcode})) eq_(status.context['positions'], [position_2, position_1]) eq_(status.context['position'], position_1)
def test_base(self): position_1 = WorkablePositionFactory.create(title='bbb') position_2 = WorkablePositionFactory.create( category=position_1.category, title='aaa') status = self.client.get(reverse( 'careers.workable_position', kwargs={'shortcode': position_1.shortcode}), follow=True) self.assertEqual(status.context_data['positions'], [position_2, position_1]) self.assertEqual(status.context_data['position'], position_1)
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_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') 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_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_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_dynamic_position_type_choices(self): """ The choices for the position_type field should be dynamically generated from the available values in the database. """ JobvitePositionFactory.create(job_type='Foo') JobvitePositionFactory.create(job_type='Bar') JobvitePositionFactory.create(job_type='Baz') JobvitePositionFactory.create(job_type='Foo') WorkablePositionFactory.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_dynamic_position_type_choices(self): """ The choices for the position_type field should be dynamically generated from the available values in the database. """ JobvitePositionFactory.create(job_type='Foo') JobvitePositionFactory.create(job_type='Bar') JobvitePositionFactory.create(job_type='Baz') JobvitePositionFactory.create(job_type='Foo') WorkablePositionFactory.create(job_type='Biff') form = PositionFilterForm() self.assertEqual( form.fields['position_type'].choices, [ ('', 'All Positions'), ('Bar', 'Bar'), # Alphabetical order ('Baz', 'Baz'), ('Biff', 'Biff'), ('Foo', 'Foo'), ])