Example #1
0
    def render(self, name, value, attrs=None):
        topics_and_subtopics = Topic.objects.all()
        topics = [t for t in topics_and_subtopics if t.parent_id is None]

        for topic in topics:
            self.process_topic(value, topic)

            topic.my_subtopics = [t for t in topics_and_subtopics
                                  if t.parent_id == topic.id]

            for subtopic in topic.my_subtopics:
                self.process_topic(value, subtopic)

        # Create a fake request to make jingo happy.
        req = RequestFactory()
        req.META = {}
        req.locale = settings.WIKI_DEFAULT_LANGUAGE

        return jingo.render_to_string(
            req,
            'wiki/includes/product_topics_widget.html',
            {
                'topics': topics,
                'name': name,
            })
Example #2
0
 def test_download_noindex(self):
     # Scene 1 of /firefox/new/ should never contain a noindex tag.
     req = RequestFactory().get('/firefox/new/')
     req.locale = 'en-US'
     response = views.new(req)
     doc = pq(response.content)
     robots = doc('meta[name="robots"]')
     assert robots.length == 0
Example #3
0
 def test_thanks_canonical(self):
     # Scene 2 /firefox/download/thanks/ should always contain a noindex tag.
     req = RequestFactory().get('/firefox/download/thanks/')
     req.locale = 'en-US'
     response = views.download_thanks(req)
     doc = pq(response.content)
     robots = doc('meta[name="robots"]')
     assert robots.length == 1
     assert 'noindex' in robots.attr('content')
Example #4
0
 def test_scene_2_noindex(self):
     # Scene 2 of /firefox/new/ should always contain a noindex tag.
     req = RequestFactory().get('/firefox/new/?scene=2')
     req.locale = 'en-US'
     response = views.new(req)
     doc = pq(response.content)
     robots = doc('meta[name="robots"]')
     eq_(robots.length, 1)
     ok_('noindex' in robots.attr('content'))
Example #5
0
 def test_scene_2_canonical(self):
     # Scene 2 of /firefox/new/ should contain a canonical tag to /firefox/new/.
     req = RequestFactory().get('/firefox/download/thanks/')
     req.locale = 'en-US'
     response = views.download_thanks(req)
     doc = pq(response.content)
     canonical = doc('link[rel="canonical"]')
     eq_(canonical.length, 1)
     ok_('/firefox/new/' in canonical.attr('href'))
Example #6
0
    def _render(locale):
        """Render an email in the given locale.

        Because of safe_translation decorator, if this fails,
        the function will be run again in English.
        """
        req = RequestFactory()
        req.META = {}
        req.locale = locale

        return render_to_string(template, context)
Example #7
0
    def _test(self, path, template, locale, accept_lang, status, destination=None):
        request = RequestFactory().get(path)
        request.META['HTTP_ACCEPT_LANGUAGE'] = accept_lang
        request.locale = locale
        response = l10n_utils.render(request, template)

        if status == 302:
            self.assertEqual(response.status_code, 302)
            self.assertEqual(response['Location'], destination)
            self.assertEqual(response['Vary'], 'Accept-Language')
        else:
            self.assertEqual(response.status_code, 200)
Example #8
0
    def render(self, name, value, attrs=None):
        if isinstance(value, (int, long)):
            related_documents = Document.objects.filter(id__in=[value])
        elif not isinstance(value, basestring) and isinstance(value, collections.Iterable):
            related_documents = Document.objects.filter(id__in=value)
        else:
            related_documents = Document.objects.none()

        # Create a fake request to make jingo happy.
        req = RequestFactory()
        req.META = {}
        req.locale = settings.WIKI_DEFAULT_LANGUAGE

        return jingo.render_to_string(
            req, "wiki/includes/related_docs_widget.html", {"related_documents": related_documents, "name": name}
        )
Example #9
0
 def test_thanks_old_template(self, render_mock):
     req = RequestFactory().get('/firefox/download/thanks/')
     req.locale = 'de'
     views.download_thanks(req)
     render_mock.assert_called_once_with(req, 'firefox/new/scene2.html', ANY)
Example #10
0
 def test_variation_privacy_nonde_scene_2(self, render_mock):
     req = RequestFactory().get('/firefox/download/thanks/?xv=privatsphare')
     req.locale = 'en-US'
     views.download_thanks(req)
     render_mock.assert_called_once_with(
         req, 'firefox/new/trailhead/thanks.html', ANY)
Example #11
0
 def test_yandex_scene_1_switch_off(self, render_mock):
     req = RequestFactory().get('/firefox/new/')
     req.locale = 'ru'
     views.new(req)
     render_mock.assert_called_once_with(
         req, 'firefox/new/trailhead/download.html', ANY)
Example #12
0
 def test_download_template(self, render_mock):
     req = RequestFactory().get('/firefox/new/')
     req.locale = 'en-US'
     views.new(req)
     render_mock.assert_called_once_with(
         req, 'firefox/new/trailhead/download.html', ANY)
Example #13
0
 def test_better_browser_scene_2_non_us(self, render_mock):
     req = RequestFactory().get('/firefox/download/thanks/?xv=betterbrowser')
     req.locale = 'fr'
     views.download_thanks(req)
     render_mock.assert_called_once_with(req, 'firefox/new/trailhead/thanks.html', ANY)
Example #14
0
 def test_variation_oys_nonde_scene_1(self, render_mock):
     req = RequestFactory().get('/firefox/campaign/?xv=auf-deiner-seite')
     req.locale = 'en-US'
     views.campaign(req)
     render_mock.assert_called_once_with(req, 'firefox/campaign/index.html', ANY)
Example #15
0
 def test_berlin_scene_1(self, render_mock):
     req = RequestFactory().get('/firefox/campaign/?xv=berlin')
     req.locale = 'de'
     views.campaign(req)
     render_mock.assert_called_once_with(
         req, 'firefox/campaign/berlin/scene1.html', ANY)
Example #16
0
 def test_compare_safari_scene_1_non_us(self, render_mock):
     req = RequestFactory().get('/firefox/campaign/?xv=safari')
     req.locale = 'fr'
     views.campaign(req)
     render_mock.assert_called_once_with(
         req, 'firefox/campaign/index-trailhead.html', ANY)
Example #17
0
 def test_better_browser_scene_1_non_us(self, render_mock):
     req = RequestFactory().get('/firefox/campaign/?xv=betterbrowser')
     req.locale = 'de'
     views.campaign(req)
     render_mock.assert_called_once_with(
         req, 'firefox/campaign/index-trailhead.html', ANY)
Example #18
0
 def test_better_browser_scene_1(self, render_mock):
     req = RequestFactory().get('/firefox/campaign/?xv=betterbrowser')
     req.locale = 'en-US'
     views.campaign(req)
     render_mock.assert_called_once_with(
         req, 'firefox/campaign/better-browser/scene1.html', ANY)
Example #19
0
 def test_berlin_video_scene_2(self, render_mock):
     req = RequestFactory().get('/firefox/download/thanks/?xv=aus-gruenden')
     req.locale = 'de'
     views.download_thanks(req)
     render_mock.assert_called_once_with(
         req, 'firefox/campaign/berlin/scene2-aus-gruenden.html', ANY)
Example #20
0
 def test_variation_oys_nonde_scene_1(self, render_mock):
     req = RequestFactory().get('/firefox/campaign/?xv=auf-deiner-seite')
     req.locale = 'en-US'
     views.campaign(req)
     render_mock.assert_called_once_with(
         req, 'firefox/campaign/index-trailhead.html', ANY)
Example #21
0
 def test_variation_oys_scene_1(self, render_mock):
     req = RequestFactory().get('/firefox/campaign/?xv=auf-deiner-seite')
     req.locale = 'de'
     views.campaign(req)
     render_mock.assert_called_once_with(
         req, 'firefox/campaign/berlin/scene1-auf-deiner-seite.html', ANY)
Example #22
0
 def test_yandex_scene_1(self, render_mock):
     req = RequestFactory().get('/firefox/new/')
     req.locale = 'ru'
     views.new(req)
     render_mock.assert_called_once_with(req, 'firefox/new/yandex/scene1.html', ANY)
Example #23
0
 def test_thanks_old_template(self, render_mock):
     req = RequestFactory().get('/firefox/download/thanks/')
     req.locale = 'de'
     views.download_thanks(req)
     render_mock.assert_called_once_with(req, 'firefox/new/scene2.html',
                                         ANY)
Example #24
0
 def test_compare_edge_scene_1(self, render_mock):
     req = RequestFactory().get('/firefox/campaign/?xv=edge')
     req.locale = 'en-US'
     views.campaign(req)
     render_mock.assert_called_once_with(
         req, 'firefox/campaign/compare/scene1-edge.html', ANY)
Example #25
0
 def test_variation_privacy_scene_2(self, render_mock):
     req = RequestFactory().get('/firefox/download/thanks/?xv=privatsphare')
     req.locale = 'de'
     views.download_thanks(req)
     render_mock.assert_called_once_with(req, 'firefox/campaign/berlin/scene2-privat.html', ANY)
Example #26
0
 def test_scene_1_template(self, render_mock):
     req = RequestFactory().get('/firefox/new/')
     req.locale = 'en-US'
     views.new(req)
     render_mock.assert_called_once_with(req, 'firefox/new/scene1.html',
                                         ANY)
Example #27
0
 def test_berlin_video_scene_2(self, render_mock):
     req = RequestFactory().get('/firefox/download/thanks/?xv=aus-gruenden')
     req.locale = 'de'
     views.download_thanks(req)
     render_mock.assert_called_once_with(req, 'firefox/campaign/berlin/scene2-aus-gruenden.html', ANY)
Example #28
0
 def test_wait_face_scene_1(self, render_mock):
     req = RequestFactory().get('/firefox/new/?xv=waitface')
     req.locale = 'en-US'
     views.new(req)
     render_mock.assert_called_once_with(
         req, 'firefox/new/wait-face/scene1.html', ANY)
Example #29
0
 def test_compare_edge_scene_1_non_us(self, render_mock):
     req = RequestFactory().get('/firefox/campaign/?xv=edge')
     req.locale = 'de'
     views.campaign(req)
     render_mock.assert_called_once_with(req, 'firefox/campaign/index.html', ANY)
Example #30
0
 def test_reggie_watts_untranslated_scene_1(self, render_mock):
     req = RequestFactory().get('/firefox/new/?xv=reggiewatts')
     req.locale = 'de'
     views.new(req)
     render_mock.assert_called_once_with(req, 'firefox/new/scene1.html',
                                         ANY)
Example #31
0
 def test_variation_speed_scene_1(self, render_mock):
     req = RequestFactory().get('/firefox/campaign/?xv=geschwindigkeit')
     req.locale = 'de'
     views.campaign(req)
     render_mock.assert_called_once_with(
         req, 'firefox/campaign/berlin/scene1-gesch.html', ANY)
Example #32
0
 def _request(self, data, expected_status=200, locale='en-US'):
     req = RequestFactory().post('/', data)
     req.locale = locale
     resp = views.send_to_device_ajax(req)
     assert resp.status_code == expected_status
     return json.loads(resp.content)
Example #33
0
 def test_reggie_watts_untranslated_scene_2(self, render_mock):
     req = RequestFactory().get('/firefox/download/thanks/?xv=reggiewatts')
     req.locale = 'de'
     views.download_thanks(req)
     render_mock.assert_called_once_with(req, 'firefox/new/scene2.html')
Example #34
0
 def test_variation_privacy_scene_2(self, render_mock):
     req = RequestFactory().get('/firefox/download/thanks/?xv=privatsphare')
     req.locale = 'de'
     views.download_thanks(req)
     render_mock.assert_called_once_with(
         req, 'firefox/campaign/berlin/scene2-privat.html', ANY)
Example #35
0
 def test_portland_scene_1_fast(self, render_mock):
     req = RequestFactory().get('/firefox/new/?xv=portland-fast')
     req.locale = 'en-US'
     views.new(req)
     render_mock.assert_called_once_with(
         req, 'firefox/new/portland/scene1-fast.html', ANY)
Example #36
0
 def test_portland_nonenus_scene_1_safe(self, render_mock):
     req = RequestFactory().get('/firefox/new/?xv=portland-safe')
     req.locale = 'de'
     views.new(req)
     render_mock.assert_called_once_with(req, 'firefox/new/scene1.html',
                                         ANY)
Example #37
0
 def test_download_template(self, render_mock):
     req = RequestFactory().get('/firefox/new/')
     req.locale = 'en-US'
     views.new(req)
     render_mock.assert_called_once_with(req, 'firefox/new/trailhead/download.html', ANY)
Example #38
0
 def test_scene_1_template(self, render_mock):
     req = RequestFactory().get('/firefox/campaign/')
     req.locale = 'en-US'
     views.campaign(req)
     render_mock.assert_called_once_with(req, 'firefox/campaign/index.html', ANY)
Example #39
0
 def test_thanks_redirect(self, render_mock):
     req = RequestFactory().get('/firefox/new/?scene=2&dude=abides')
     req.locale = 'en-US'
     resp = views.new(req)
     assert resp.status_code == 301
     assert resp['location'].endswith('/firefox/download/thanks/?scene=2&dude=abides')
Example #40
0
 def test_berlin_nonde_scene_2(self, render_mock):
     req = RequestFactory().get('/firefox/download/thanks/?xv=berlin')
     req.locale = 'en-US'
     views.download_thanks(req)
     render_mock.assert_called_once_with(req, 'firefox/new/trailhead/thanks.html', ANY)
Example #41
0
 def test_yandex_scene_1_switch_off(self, render_mock):
     req = RequestFactory().get('/firefox/new/')
     req.locale = 'ru'
     views.new(req)
     render_mock.assert_called_once_with(req, 'firefox/new/trailhead/download.html', ANY)
Example #42
0
 def test_variation_speed_scene_2(self, render_mock):
     req = RequestFactory().get('/firefox/download/thanks/?xv=geschwindigkeit')
     req.locale = 'de'
     views.download_thanks(req)
     render_mock.assert_called_once_with(req, 'firefox/campaign/berlin/scene2-gesch.html', ANY)
Example #43
0
 def test_portland_nonenus_scene_2_safe(self, render_mock):
     req = RequestFactory().get(
         '/firefox/download/thanks/?xv=portland-safe')
     req.locale = 'de'
     views.download_thanks(req)
     render_mock.assert_called_once_with(req, 'firefox/new/scene2.html')
Example #44
0
 def test_scene_1_template(self, render_mock):
     req = RequestFactory().get('/firefox/campaign/')
     req.locale = 'en-US'
     views.campaign(req)
     render_mock.assert_called_once_with(
         req, 'firefox/campaign/index-trailhead.html', ANY)
Example #45
0
 def test_berlin_nonde_scene_1(self, render_mock):
     req = RequestFactory().get('/firefox/new/?xv=berlin')
     req.locale = 'en-US'
     views.campaign(req)
     render_mock.assert_called_once_with(req, 'firefox/campaign/index.html', ANY)
Example #46
0
 def test_berlin_nonde_scene_1(self, render_mock):
     req = RequestFactory().get('/firefox/new/?xv=berlin')
     req.locale = 'en-US'
     views.new(req)
     render_mock.assert_called_once_with(req, 'firefox/new/scene1.html',
                                         ANY)
Example #47
0
 def test_variation_herz_scene_1(self, render_mock):
     req = RequestFactory().get('/firefox/campaign/?xv=herz')
     req.locale = 'de'
     views.campaign(req)
     render_mock.assert_called_once_with(req, 'firefox/campaign/berlin/scene1-herz.html', ANY)
Example #48
0
 def test_berlin_nonde_scene_2(self, render_mock):
     req = RequestFactory().get('/firefox/download/thanks/?xv=berlin')
     req.locale = 'en-US'
     views.download_thanks(req)
     render_mock.assert_called_once_with(req, 'firefox/new/scene2.html')
Example #49
0
 def test_variation_speed_nonde_scene_1(self, render_mock):
     req = RequestFactory().get('/firefox/campaign/?xv=geschwindigkeit')
     req.locale = 'en-US'
     views.campaign(req)
     render_mock.assert_called_once_with(req, 'firefox/campaign/index.html', ANY)
Example #50
0
 def _request(self, data, expected_status=200, locale='en-US'):
     req = RequestFactory().post('/', data)
     req.locale = locale
     resp = views.send_to_device_ajax(req)
     assert resp.status_code == expected_status
     return json.loads(resp.content)
Example #51
0
 def test_variation_oys_scene_2(self, render_mock):
     req = RequestFactory().get('/firefox/download/thanks/?xv=auf-deiner-seite')
     req.locale = 'de'
     views.download_thanks(req)
     render_mock.assert_called_once_with(req, 'firefox/campaign/berlin/scene2-auf-deiner-seite.html', ANY)
Example #52
0
 def test_firefox_welcome_page1(self, render_mock):
     req = RequestFactory().get('/firefox/welcome/1/')
     req.locale = 'en-US'
     views.firefox_welcome_page1(req)
     render_mock.assert_called_once_with(req, 'firefox/welcome/page1.html',
                                         ANY)
Example #53
0
 def test_variation_oys_nonde_scene_2(self, render_mock):
     req = RequestFactory().get('/firefox/download/thanks/?xv=auf-deiner-seite')
     req.locale = 'en-US'
     views.download_thanks(req)
     render_mock.assert_called_once_with(req, 'firefox/new/trailhead/thanks.html', ANY)
Example #54
0
 def test_home_locale_template(self, render_mock):
     req = RequestFactory().get('/')
     req.locale = 'es'
     views.home_view(req)
     render_mock.assert_called_once_with(req, 'mozorg/home/home.html', ANY)
Example #55
0
 def test_better_browser_scene_2(self, render_mock):
     req = RequestFactory().get('/firefox/download/thanks/?xv=betterbrowser')
     req.locale = 'en-US'
     views.download_thanks(req)
     render_mock.assert_called_once_with(req, 'firefox/campaign/better-browser/scene2.html', ANY)
Example #56
0
 def test_about_old_template(self, render_mock):
     req = RequestFactory().get('/')
     req.locale = 'de'
     views.about_view(req)
     render_mock.assert_called_once_with(req, 'mozorg/about.html', ANY)
Example #57
0
 def test_compare_edge_scene_1(self, render_mock):
     req = RequestFactory().get('/firefox/campaign/?xv=edge')
     req.locale = 'en-US'
     views.campaign(req)
     render_mock.assert_called_once_with(req, 'firefox/campaign/compare/scene1-edge.html', ANY)
Example #58
0
 def test_about_render_perf_variation(self, render_mock):
     req = RequestFactory().get('/?v=b')
     req.locale = 'en-US'
     views.about_view(req)
     render_mock.assert_called_once_with(req, 'mozorg/perf-exp/variation.html', ANY)
Example #59
0
 def test_locale_no_newsletter(self, render_mock):
     req = RequestFactory().get('/firefox/')
     req.locale = 'it'
     views.firefox_home(req)
     render_mock.assert_called_once_with(req, 'firefox/home/index.html', {'show_newsletter': False})
Example #60
0
 def test_firefox_home_legacy(self, render_mock):
     req = RequestFactory().get('/firefox/')
     req.locale = 'fr'
     views.firefox_home(req)
     render_mock.assert_called_once_with(req,
                                         'firefox/home/index-quantum.html')