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, })
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
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')
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'))
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'))
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)
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)
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} )
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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')
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)
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)
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)
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)
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)
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')
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)
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)
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)
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')
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)
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)
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)
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)
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')
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)
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)
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)
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)
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)
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)
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)
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)
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)
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})
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')