Example #1
0
    def test_location_breadcrumbs(self):
        Job = namedtuple('Job', ['location', 'state', 'country', 'title_slug'])
        jobs = [
            Job(location='Indianapolis, IN',
                state='Indiana',
                country='USA',
                title_slug='')
        ]

        # Location from param
        path = '/jobs/'

        query_dict = QueryDict('location=Indianapolis, IN')

        breadbox = Breadbox(path, self.filters, jobs, query_dict)

        self.assertEqual(len(breadbox.location_breadcrumbs), 1)
        self.assertEqual(breadbox.location_breadcrumbs[0].display_title,
                         'Indianapolis, IN')

        # Location from path
        path = '/indianapolis/in/usa/%s/' % settings.SLUG_TAGS['location_slug']

        self.filters['location_slug'] = 'indianapolis/in/usa'

        query_dict = QueryDict('')

        breadbox = Breadbox(path, self.filters, jobs, query_dict)

        self.assertEqual(len(breadbox.location_breadcrumbs), 1)
        self.assertEqual(breadbox.location_breadcrumbs[0].display_title,
                         'Indianapolis, IN')
    def test_breadcrumbs_from_slugs(self):
        """Tests that breadcrumb URLs aren't mangled on creation from slugs."""
        path = 'deu/jobs/deutsche-bank/careers/'

        self.filters['company_slug'] = 'deutsche-bank'
        self.filters['location_slug'] = 'deu'

        breadbox = Breadbox(path, self.filters, [], QueryDict(''))
        breadbox.build_location_breadcrumbs_from_slugs()

        # Before, the resulting URL would become '[tsche-bank/careers/', which
        # is incorrect, as deu as a slug should be removed, rather than the
        # company name being mangled
        self.assertEqual(breadbox.location_breadcrumbs[0].url,
                         'deutsche-bank/careers/')
Example #3
0
def get_breadbox(request):
    filters = get_filters(request)

    jobs_and_counts = get_jobs_and_counts(request)
    default_jobs = jobs_and_counts[0]
    total_default_jobs = jobs_and_counts[1]
    featured_jobs = jobs_and_counts[2]
    total_featured_jobs = jobs_and_counts[3]

    jobs = list(chain(featured_jobs, default_jobs))

    breadbox = Breadbox(request.path, filters, jobs, request.GET)

    breadbox.job_count = intcomma(total_default_jobs + total_featured_jobs)

    return breadbox
Example #4
0
def get_breadbox(request):
    filters = get_filters(request)

    jobs_and_counts = get_jobs_and_counts(request)
    default_jobs = jobs_and_counts[0]
    total_default_jobs = jobs_and_counts[1]
    featured_jobs = jobs_and_counts[2]
    total_featured_jobs = jobs_and_counts[3]

    jobs = list(chain(featured_jobs, default_jobs))

    breadbox = Breadbox(request.path, filters, jobs, request.GET)

    breadbox.job_count = intcomma(total_default_jobs + total_featured_jobs)

    return breadbox
Example #5
0
    def test_title_breadcrumbs(self):
        path = '/test-title/%s/' % settings.SLUG_TAGS['title_slug']

        self.filters['title_slug'] = 'test-title'

        jobs = []

        query_dict = QueryDict('')

        breadbox = Breadbox(path, self.filters, jobs, query_dict)

        self.assertEqual(breadbox.title_breadcrumb.display_title, 'Test Title')
Example #6
0
    def test_company_slug(self):
        bu = BusinessUnitFactory(title_slug='test-bu', id=7, title='Test')
        path = '/%s/%s/' % (bu.title_slug, settings.SLUG_TAGS['company_slug'])

        self.filters['company_slug'] = bu.title_slug

        jobs = []

        query_dict = QueryDict('')

        breadbox = Breadbox(path, self.filters, jobs, query_dict)
        self.assertEqual(breadbox.company_breadcrumb.display_title, bu.title)
Example #7
0
    def test_moc_slug(self):
        moc = MocFactory()

        self.filters['moc_slug'] = 'something/%s/%s' % (moc.code, moc.branch)

        path = '/%s/%s/' % (self.filters['moc_slug'],
                            settings.SLUG_TAGS['moc_slug'])

        jobs = []

        query_dict = QueryDict('')

        breadbox = Breadbox(path, self.filters, jobs, query_dict)
        self.assertEqual(len(breadbox.moc_breadcrumbs), 1)
        self.assertEqual(breadbox.moc_breadcrumbs[0].display_title,
                         "%s - %s" % (moc.code, moc.title))
Example #8
0
    def test_facet_breadcrumbs(self):
        name_slugs = self.custom_facets.values_list('name_slug', flat=True)
        name_slugs = '/'.join(name_slugs)
        path = "/%s/%s/" % (name_slugs, settings.SLUG_TAGS['facet_slug'])

        self.filters['facet_slug'] = name_slugs

        jobs = []

        query_dict = QueryDict('')

        breadbox = Breadbox(path, self.filters, jobs, query_dict)

        self.assertEqual(len(breadbox.custom_facet_breadcrumbs), 3)
        names = self.custom_facets.values_list('name', flat=True)
        for breadcrumb in breadbox.custom_facet_breadcrumbs:
            self.assertIn(breadcrumb.display_title, names)
Example #9
0
    def test_removing_breacrumb(self):
        """Removing a breadcrumb shouldn't result in broken links."""

        self.filters['title_slug'] = 'computer-network-defense-analyst'
        self.filters['facet_slug'] = 'communication-jobs/custom-facet-1'
        self.filters['company_slug'] = 'booz-allen-hamilton'
        path = "/%s/jobs-in/%s/new-jobs/%s/careers/" % (
            self.filters['title_slug'], self.filters['facet_slug'],
            self.filters['company_slug'])
        jobs = []
        query_dict = QueryDict('')

        breadbox = Breadbox(path, self.filters, jobs, query_dict)
        # before, the resulting url would be missing a '/' bertween 'jobs-in'
        # and 'booz-allen-hamilton'
        self.assertEqual(
            breadbox.custom_facet_breadcrumbs[0].url,
            '/computer-network-defense-analyst/jobs-in'
            '/communication-jobs/booz-allen-hamilton/careers/')
Example #10
0
    def test_breadcrumbs_from_slugs(self):
        """Tests that breadcrumb URLs aren't mangled on creation from slugs."""
        path = u'deu/jobs/deutsche-bank/careers/'

        self.filters['company_slug'] = 'deutsche-bank'
        self.filters['location_slug'] = 'deu'
        query_dict = QueryDict('')

        breadbox = Breadbox(path, self.filters, [], query_dict)
        breadbox.build_location_breadcrumbs_from_slugs()

        # Before, the resulting URL would become '[tsche-bank/careers/', which
        # is incorrect, as deu as a slug should be removed, rather than the
        # company name being mangled
        self.assertEqual(breadbox.location_breadcrumbs[0].url,
                         'deutsche-bank/careers/')

        # location slug not being part of the path shouldn't raise an error
        path = '/jobs/deutsche-bank/careers/'
        breadbox = Breadbox(path, self.filters, [], query_dict)
        breadbox.build_location_breadcrumbs_from_slugs()
Example #11
0
    def test_breadcrumbs_from_slugs(self):
        """Tests that breadcrumb URLs aren't mangled on creation from slugs."""
        path = u"deu/jobs/deutsche-bank/careers/"

        self.filters["company_slug"] = "deutsche-bank"
        self.filters["location_slug"] = "deu"
        query_dict = QueryDict("")

        breadbox = Breadbox(path, self.filters, [], query_dict)
        breadbox.build_location_breadcrumbs_from_slugs()

        # Before, the resulting URL would become '[tsche-bank/careers/', which
        # is incorrect, as deu as a slug should be removed, rather than the
        # company name being mangled
        self.assertEqual(breadbox.location_breadcrumbs[0].url, "deutsche-bank/careers/")

        # location slug not being part of the path shouldn't raise an error
        path = "/jobs/deutsche-bank/careers/"
        breadbox = Breadbox(path, self.filters, [], query_dict)
        breadbox.build_location_breadcrumbs_from_slugs()