Exemplo n.º 1
0
    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'])
Exemplo n.º 2
0
    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')
Exemplo n.º 3
0
    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'])
Exemplo n.º 4
0
    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')
Exemplo n.º 5
0
 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)
Exemplo n.º 6
0
 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)
Exemplo n.º 7
0
    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])
Exemplo n.º 8
0
    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])
Exemplo n.º 9
0
    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]))
Exemplo n.º 10
0
    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'])
Exemplo n.º 11
0
    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])
Exemplo n.º 12
0
    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])
Exemplo n.º 13
0
    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]))
Exemplo n.º 14
0
    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])
Exemplo n.º 15
0
    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'),
        ])
Exemplo n.º 16
0
    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'),
            ])