def test_search_page_es_selection(self, mock_filter): page = get_or_create_page( apps, 'ask_cfpb', 'AnswerResultsPage', 'Mock Spanish results page', 'respuestas', self.spanish_parent_page, language='es', live=True) mock_return = mock.Mock() mock_return.url = 'url' mock_return.autocomplete = 'question text' mock_queryset = mock.Mock() mock_queryset.__iter__ = mock.Mock(return_value=iter([mock_return])) mock_queryset.count.return_value = 1 mock_filter.return_value = mock_queryset self.client.get(reverse( 'ask-search-es', kwargs={'language': 'es'}), {'q': 'hipotecas'}) self.assertEqual(mock_filter.call_count, 1) self.assertEqual(page.language, 'es') self.assertEqual(page.answers, []) self.assertEqual( page.get_template(HttpRequest()), 'ask-cfpb/answer-search-spanish-results.html')
def test_en_search_suggestion(self, mock_sqs): from v1.util.migrations import get_or_create_page mock_page = get_or_create_page( apps, 'ask_cfpb', 'AnswerResultsPage', 'Mock results page', 'ask-cfpb-search-results', self.english_parent_page, language='en', live=True) mock_return = mock.Mock() mock_return.url = 'mockcfpb.gov' mock_return.autocomplete = 'A mock question' mock_return.text = 'Mock answer text.' mock_queryset = mock.Mock() mock_queryset.__iter__ = mock.Mock(return_value=iter([mock_return])) mock_queryset.count.return_value = 0 mock_sqs_instance = mock_sqs.return_value.models.return_value mock_sqs_instance.filter.return_value = mock_queryset mock_sqs_instance.spelling_suggestion.return_value = 'payday' response = self.client.get(reverse( 'ask-search-en'), {'q': 'paydya'}) self.assertEqual(response.status_code, 200) response_page = response.context_data['page'] self.assertEqual(response_page, mock_page) self.assertEqual(response_page.suggestion, 'paydya') self.assertEqual(response_page.result_query, 'payday') self.assertEqual(response_page.query, 'paydya')
def get_or_create_category_pages(): from v1.models import CFGOVPage parent = CFGOVPage.objects.get(slug='ask-cfpb').specific counter = 0 for cat in Category.objects.all(): for language in ['en', 'es']: if language == 'en': title = cat.name page_slug = "category-{}".format(cat.slug) parent = CFGOVPage.objects.get(slug='ask-cfpb').specific else: title = cat.name_es page_slug = "categoria-{}".format(cat.slug_es) parent = CFGOVPage.objects.get( slug='obtener-respuestas').specific cat_page = get_or_create_page( apps, 'ask_cfpb', 'AnswerCategoryPage', title, page_slug, parent, language=language, ask_category=cat) prep_page(cat_page) time.sleep(1) counter += 1 print("Created {} category pages".format(counter))
def setUp(self): from v1.models import HomePage ROOT_PAGE = HomePage.objects.get(slug='cfgov') self.audiences = [mommy.make(Audience, name='stub_audience')] self.category = mommy.make(Category, name='stub_cat', name_es='que') self.subcategories = mommy.make( SubCategory, name='stub_subcat', _quantity=3) self.category.subcategories.add(self.subcategories[0]) self.category.save() self.next_step = mommy.make(NextStep, title='stub_step') page_clean = patch('ask_cfpb.models.pages.CFGOVPage.clean') page_clean.start() self.addCleanup(page_clean.stop) self.english_parent_page = get_or_create_page( apps, 'v1', 'LandingPage', 'Ask CFPB', ENGLISH_PARENT_SLUG, ROOT_PAGE, live=True) self.spanish_parent_page = get_or_create_page( apps, 'v1', 'LandingPage', 'Obtener respuestas', SPANISH_PARENT_SLUG, ROOT_PAGE, live=True) self.answer1234 = self.prepare_answer( id=1234, answer='Mock answer 1', question='Mock question1') self.answer1234.save() self.page1 = self.create_answer_page() self.page1.answer_base = self.answer1234 self.page1.parent = self.english_parent_page self.page1.save() self.answer5678 = self.prepare_answer( id=5678, answer='Mock answer 2', question='Mock question2') self.answer5678.save() self.page2 = self.create_answer_page(slug='mock-answer-page-en-5678') self.page2.answer_base = self.answer5678 self.page2.parent = self.english_parent_page self.page2.save()
def setUp(self): from v1.models import HomePage self.ROOT_PAGE = HomePage.objects.get(slug='cfgov') self.english_parent_page = get_or_create_page( apps, 'ask_cfpb', 'AnswerLandingPage', 'Ask CFPB', ENGLISH_PARENT_SLUG, self.ROOT_PAGE, language='en', live=True) self.spanish_parent_page = get_or_create_page( apps, 'ask_cfpb', 'AnswerLandingPage', 'Obtener respuestas', SPANISH_PARENT_SLUG, self.ROOT_PAGE, language='es', live=True)
def setUp(self): from v1.models import HomePage from ask_cfpb.models import Answer self.ROOT_PAGE = HomePage.objects.get(slug='cfgov') self.english_parent_page = get_or_create_page( apps, 'ask_cfpb', 'AnswerLandingPage', 'Ask CFPB', ENGLISH_PARENT_SLUG, self.ROOT_PAGE, language='en', live=True) self.spanish_parent_page = get_or_create_page( apps, 'ask_cfpb', 'AnswerLandingPage', 'Obtener respuestas', SPANISH_PARENT_SLUG, self.ROOT_PAGE, language='es', live=True) self.test_answer = mommy.make( Answer, answer="Test answer.", question="Test question.", slug='test-question', update_english_page=True, update_spanish_page=False) self.site = mommy.make( Site, root_page=self.ROOT_PAGE, hostname='localhost', port=8000, is_default_site=True) self.sharing_site = mommy.make( SharingSite, site=self.site, hostname='preview.localhost', port=8000)
def test_es_search(self, mock_filter): get_or_create_page( apps, 'ask_cfpb', 'AnswerResultsPage', 'Mock Spanish results page', 'respuestas', self.spanish_parent_page, language='es', live=True) mock_return = mock.Mock() mock_return.url = 'mockcfpb.gov' mock_return.autocomplete = 'A mock question' mock_return.text = 'Mock answer text.' mock_queryset = mock.Mock() mock_queryset.__iter__ = mock.Mock(return_value=iter([mock_return])) mock_queryset.count.return_value = 1 mock_filter.return_value = mock_queryset self.client.get(reverse( 'ask-search-es', kwargs={'language': 'es'}), {'q': 'payday'}) self.assertEqual(mock_filter.call_count, 1) self.assertTrue(mock_filter.called_with(language='es', q='payday'))
def get_or_create_landing_pages(): """ Create Spanish and English landing pages. """ from v1.models import CFGOVPage, LandingPage en_root = CFGOVPage.objects.get(slug='cfgov').specific es_root = LandingPage.objects.get(slug='es').specific hero_stream_value = [ {'type': 'hero', 'value': { 'heading': 'Ask CFPB', 'links': [], 'background_color': '#ffffff', 'body': ('We offer clear, impartial answers to hundreds ' 'of financial questions. Find the information you need ' 'to make more informed choices about your money.')}}] landing_map = { 'en': {'slug': 'ask-cfpb', 'title': 'Ask CFPB', 'hero': hero_stream_value, 'parent': en_root}, 'es': {'slug': 'obtener-respuestas', 'title': 'Obtener respuestas', 'hero': None, 'parent': es_root} } counter = 0 for language in sorted(landing_map.keys()): _map = landing_map[language] landing_page = get_or_create_page( apps, 'ask_cfpb', 'AnswerLandingPage', _map['title'], _map['slug'], _map['parent'], language=language) if _map['hero']: stream_block = landing_page.header.stream_block landing_page.header = StreamValue( stream_block, _map['hero'], is_lazy=True) prep_page(landing_page) time.sleep(1) counter += 1 print("Created an 'es' parent and {} landing pages".format(counter))
def create_or_update_page(self, language=None): """Create or update an English or Spanish Answer page""" from .pages import AnswerPage english_parent = Page.objects.get(slug=ENGLISH_PARENT_SLUG).specific spanish_parent = Page.objects.get(slug=SPANISH_PARENT_SLUG).specific if language == 'en': _parent = english_parent _slug = self.slug _question = self.question _snippet = self.snippet _answer = self.answer elif language == 'es': _parent = spanish_parent _slug = self.slug_es _question = self.question_es _snippet = self.snippet_es _answer = self.answer_es else: raise ValueError('unsupported language: "{}"'.format(language)) try: base_page = AnswerPage.objects.get( language=language, answer_base=self) except ObjectDoesNotExist: base_page = get_or_create_page( apps, 'ask_cfpb', 'AnswerPage', '{}-{}-{}'.format(_question[:244], language, self.id), _slug, _parent, show_in_menus=True, language=language, answer_base=self) base_page.save_revision(user=self.last_user) _page = base_page.get_latest_revision_as_page() _page.question = _question _page.answer = _answer _page.snippet = _snippet _page.title = '{}-{}-{}'.format( _question[:244], language, self.id) _page.live = False _page.has_unpublished_changes = True stream_block = _page.content.stream_block _page.content = StreamValue( stream_block, get_feedback_stream_value(_page), is_lazy=True) _page.save_revision(user=self.last_user) return _page
def test_json_response(self, mock_filter): get_or_create_page( apps, 'ask_cfpb', 'AnswerResultsPage', 'Mock results page', 'ask-cfpb-search-results', self.english_parent_page, language='en', live=True) mock_return = mock.Mock() mock_return.url = "inscisive_url.com" mock_return.autocomplete = "inscisive question" mock_return.text = "inscisive text" mock_queryset = mock.Mock() mock_queryset.__iter__ = mock.Mock(return_value=iter([mock_return])) mock_queryset.count.return_value = 1 mock_filter.return_value = mock_queryset response = self.client.get(reverse( 'ask-search-en-json', kwargs={'as_json': 'json'}), {'q': 'tuition'}) self.assertEqual(response.status_code, 200) self.assertEqual(mock_filter.call_count, 1) self.assertEqual(json.loads(response.content)['query'], 'tuition')
def get_or_create_audience_pages(): from v1.models import CFGOVPage parent = CFGOVPage.objects.get(slug='ask-cfpb').specific counter = 0 for audience in ASK_audience.objects.all(): audience_page = get_or_create_page( apps, 'ask_cfpb', 'AnswerAudiencePage', audience.name, "audience-{}".format(slugify(audience.name)), parent, language='en', ask_audience=audience) prep_page(audience_page) time.sleep(1) counter += 1 print("Created {} audience pages".format(counter))
def get_or_create_parent_pages(): from v1.models import CFGOVPage counter = 0 for parent_type in sorted(PARENT_MAP.keys()): _map = PARENT_MAP[parent_type] parent_page = get_or_create_page( apps, 'ask_cfpb', 'AnswerLandingPage', _map['title'], _map['slug'], CFGOVPage.objects.get(slug=_map['parent_slug']).specific, language=_map['language']) parent_page.has_unpublished_changes = True revision = parent_page.save_revision() parent_page.save() revision.publish() time.sleep(1) counter += 1 print("Created {} parent pages".format(counter))
def test_en_search_suggestion(self, mock_filter, mock_suggestion): from v1.util.migrations import get_or_create_page mock_page = get_or_create_page(apps, 'ask_cfpb', 'AnswerResultsPage', 'Mock results page', 'ask-cfpb-search-results', self.english_parent_page, language='en', live=True) # AskSearch.sugggest flips search_term and suggestion when called mock_filter.return_value = mock_queryset(count=0) mock_suggestion.return_value = 'payday' response = self.client.get(reverse('ask-search-en'), {'q': 'paydya'}) self.assertEqual(response.status_code, 200) response_page = response.context_data['page'] self.assertEqual(response_page, mock_page) self.assertEqual(response_page.result_query, 'payday') self.assertEqual(response_page.query, 'paydya')
def test_en_search(self, mock_ask_search): from v1.util.migrations import get_or_create_page mock_page = get_or_create_page( apps, 'ask_cfpb', 'AnswerResultsPage', 'Mock results page', 'ask-cfpb-search-results', self.ROOT_PAGE, language='en') mock_ask_search.queryset = mock_queryset(count=3) mock_ask_search.suggestion = None mock_ask_search.search_term = 'payday' response = self.client.get(reverse( 'ask-search-en'), {'q': 'payday'}) self.assertEqual(response.status_code, 200) self.assertEqual(response.context_data['page'], mock_page) self.assertEqual(mock_ask_search.call_count, 1) self.assertTrue(mock_ask_search.called_with( language='en', search_term='payday'))
def get_or_create_category_pages(): from v1.models import CFGOVPage parent = CFGOVPage.objects.get(slug='ask-cfpb').specific counter = 0 for cat in Category.objects.all(): cat_page = get_or_create_page( apps, 'ask_cfpb', 'AnswerCategoryPage', '{} > Consumer Financial Protection Bureau'.format(cat.name), "category-{}".format(cat.slug), parent, language='en', ask_category=cat) cat_page.has_unpublished_changes = True revision = cat_page.save_revision() cat_page.save() revision.publish() time.sleep(1) counter += 1 print("Created {} category pages".format(counter))
def test_en_search(self, mock_ask_search): from v1.util.migrations import get_or_create_page mock_page = get_or_create_page( apps, "ask_cfpb", "AnswerResultsPage", "Mock results page", "ask-cfpb-search-results", self.ROOT_PAGE, language="en", ) mock_ask_search.queryset = mock_queryset(count=3) mock_ask_search.suggestion = None mock_ask_search.search_term = "payday" response = self.client.get(reverse("ask-search-en"), {"q": "payday"}) self.assertEqual(response.status_code, 200) self.assertEqual(response.context_data["page"], mock_page) self.assertEqual(mock_ask_search.call_count, 1) self.assertTrue( mock_ask_search.called_with(language="en", search_term="payday"))
def get_or_create_search_results_pages(): from v1.models import CFGOVPage parent_en = CFGOVPage.objects.get(slug='ask-cfpb').specific parent_es = CFGOVPage.objects.get(slug='obtener-respuestas').specific language_map = { 'en': { 'title': 'Ask CFPB search results', 'slug': 'ask-cfpb-search-results', 'page_type': 'AnswerResultsPage', 'language': 'en', 'parent': parent_en }, 'es': { 'title': 'Respuestas', 'slug': 'respuestas', 'page_type': 'AnswerResultsPage', 'language': 'es', 'parent': parent_es }, 'tag': { 'title': 'Buscar por etiqueta', 'slug': 'buscar-por-etiqueta', 'page_type': 'TagResultsPage', 'language': None, 'parent': parent_es } } counter = 0 for key in language_map: _map = language_map[key] results_page = get_or_create_page(apps, 'ask_cfpb', _map['page_type'], _map['title'], _map['slug'], _map['parent']) if _map['language']: results_page.language = _map['language'] prep_page(results_page) time.sleep(1) counter += 1 print("Created {} search results pages".format(counter))
def test_search_page_en_selection(self, mock_filter): page = get_or_create_page(apps, 'ask_cfpb', 'AnswerResultsPage', 'Mock results page', 'ask-cfpb-search-results', self.english_parent_page, language='en', live=True) mock_return = mock.Mock() mock_return.url = 'url' mock_return.autocomplete = 'question text' mock_queryset = mock.Mock() mock_queryset.__iter__ = mock.Mock(return_value=iter([mock_return])) mock_queryset.count.return_value = 1 mock_filter.return_value = mock_queryset self.client.get(reverse('ask-search-en'), {'q': 'tuition'}) self.assertEqual(mock_filter.call_count, 1) self.assertEqual(page.language, 'en') self.assertEqual(page.answers, []) self.assertEqual(page.get_template(HttpRequest()), 'ask-cfpb/answer-search-results.html')
def test_en_search_no_term(self, mock_sqs): from v1.util.migrations import get_or_create_page mock_page = get_or_create_page( apps, 'ask_cfpb', 'AnswerResultsPage', 'Mock results page', 'ask-cfpb-search-results', self.ROOT_PAGE, language='en') response = self.client.get(reverse( 'ask-search-en'), {'q': ''}) self.assertEqual(response.status_code, 200) self.assertEqual( response.context_data['page'], mock_page) self.assertEqual( response.context_data['page'].query, '') self.assertEqual( response.context_data['page'].result_query, '')
def test_en_search_suggestion(self, mock_filter, mock_suggestion): from v1.util.migrations import get_or_create_page mock_page = get_or_create_page( apps, "ask_cfpb", "AnswerResultsPage", "Mock results page", "ask-cfpb-search-results", self.english_parent_page, language="en", live=True, ) # AskSearch.sugggest flips search_term and suggestion when called mock_filter.return_value = mock_queryset(count=0) mock_suggestion.return_value = "payday" response = self.client.get(reverse("ask-search-en"), {"q": "paydya"}) self.assertEqual(response.status_code, 200) response_page = response.context_data["page"] self.assertEqual(response_page, mock_page) self.assertEqual(response_page.result_query, "payday") self.assertEqual(response_page.query, "paydya")
def test_en_search(self, mock_query): from v1.util.migrations import get_or_create_page mock_page = get_or_create_page( apps, 'ask_cfpb', 'AnswerResultsPage', 'Mock results page', 'ask-cfpb-search-results', self.ROOT_PAGE, language='en') mock_return = mock.Mock() mock_return.url = 'mockcfpb.gov' mock_return.autocomplete = 'A mock question' mock_return.text = 'Mock answer text.' mock_query.return_value = [mock_return] response = self.client.get(reverse( 'ask-search-en'), {'q': 'payday'}) self.assertEqual(mock_query.call_count, 1) self.assertTrue(mock_query.called_with(language='en', q='payday')) self.assertEqual(response.status_code, 200) self.assertEqual( response.context_data['page'], mock_page)
def test_en_search_no_term(self, mock_ask_search): from v1.util.migrations import get_or_create_page mock_page = get_or_create_page( apps, 'ask_cfpb', 'AnswerResultsPage', 'Mock results page', 'ask-cfpb-search-results', self.ROOT_PAGE, language='en') mock_ask_search.queryset = mock_queryset() response = self.client.get(reverse( 'ask-search-en'), {'q': ''}) self.assertEqual(response.status_code, 200) self.assertEqual( response.context_data['page'], mock_page) self.assertEqual( response.context_data['page'].query, '') self.assertEqual( response.context_data['page'].result_query, '')
def get_or_create_search_results_pages(): from v1.models import CFGOVPage parent_en = CFGOVPage.objects.get(slug='ask-cfpb').specific parent_es = CFGOVPage.objects.get(slug='obtener-respuestas').specific language_map = { 'en': {'title': 'Ask CFPB search results', 'slug': 'ask-cfpb-search-results', 'page_type': 'AnswerResultsPage', 'language': 'en', 'parent': parent_en}, 'es': {'title': 'Respuestas', 'slug': 'respuestas', 'page_type': 'AnswerResultsPage', 'language': 'es', 'parent': parent_es}, 'tag': {'title': 'Buscar por etiqueta', 'slug': 'buscar-por-etiqueta', 'page_type': 'TagResultsPage', 'language': None, 'parent': parent_es} } counter = 0 for key in language_map: _map = language_map[key] results_page = get_or_create_page( apps, 'ask_cfpb', _map['page_type'], _map['title'], _map['slug'], _map['parent']) if _map['language']: results_page.language = _map['language'] prep_page(results_page) time.sleep(1) counter += 1 print("Created {} search results pages".format(counter))
def test_search_page_es_selection(self, mock_search): page = get_or_create_page( apps, "ask_cfpb", "AnswerResultsPage", "Mock Spanish results page", "respuestas", self.spanish_parent_page, language="es", live=True, ) mock_search.serch_term = "hipotecas" mock_search.queryset = mock_queryset(count=5) response = self.client.get( reverse("ask-search-es", kwargs={"language": "es"}), {"q": "hipotecas"}, ) self.assertEqual(page.answers, []) self.assertEqual(mock_search.call_count, 1) self.assertEqual(response.context_data["page"].language, "es") self.assertEqual( page.get_template(HttpRequest()), "ask-cfpb/answer-search-results.html", )
def test_en_search(self, mock_sqs): from v1.util.migrations import get_or_create_page mock_page = get_or_create_page( apps, 'ask_cfpb', 'AnswerResultsPage', 'Mock results page', 'ask-cfpb-search-results', self.ROOT_PAGE, language='en') mock_return = mock.Mock() mock_return.url = 'mockcfpb.gov' mock_return.autocomplete = 'A mock question' mock_return.text = 'Mock answer text.' mock_queryset = mock.Mock() mock_queryset.__iter__ = mock.Mock(return_value=iter([mock_return])) mock_queryset.count.return_value = 1 mock_sqs_instance = mock_sqs.return_value.models.return_value mock_sqs_instance.filter.return_value = mock_queryset mock_sqs_instance.spelling_suggestion.return_value = 'payday' response = self.client.get(reverse( 'ask-search-en'), {'q': 'payday'}) self.assertEqual(response.status_code, 200) self.assertEqual( response.context_data['page'], mock_page) self.assertEqual( response.context_data['page'].suggestion, None) self.assertEqual(mock_sqs_instance.filter.call_count, 1) self.assertTrue(mock_sqs_instance.filter.called_with( language='en', q='payday'))
def setUp(self): self.test_user = User.objects.get(pk=1) self.factory = RequestFactory() ROOT_PAGE = HomePage.objects.get(slug='cfgov') self.audience = mommy.make(Audience, name='stub_audience') self.category = mommy.make(Category, name='stub_cat', name_es='que', slug='stub-cat') self.subcategories = mommy.make(SubCategory, name='stub_subcat', parent=self.category, _quantity=3) self.category.subcategories.add(self.subcategories[0]) self.category.save() self.test_image = mommy.make(CFGOVImage) self.test_image2 = mommy.make(CFGOVImage) self.next_step = mommy.make(NextStep, title='stub_step') self.portal_topic = mommy.make(PortalTopic, heading='test topic', heading_es='prueba tema') page_clean = mock.patch('ask_cfpb.models.pages.CFGOVPage.clean') page_clean.start() self.addCleanup(page_clean.stop) self.portal_page = SublandingPage(title='test portal page', slug='test-portal-page', portal_topic=self.portal_topic, language='en') ROOT_PAGE.add_child(instance=self.portal_page) self.portal_page.save() self.portal_page.save_revision().publish() self.portal_page_es = SublandingPage(title='test portal page', slug='test-portal-page-es', portal_topic=self.portal_topic, language='es') ROOT_PAGE.add_child(instance=self.portal_page_es) self.portal_page_es.save() self.portal_page_es.save_revision().publish() self.english_parent_page = get_or_create_page(apps, 'ask_cfpb', 'AnswerLandingPage', 'Ask CFPB', ENGLISH_PARENT_SLUG, ROOT_PAGE, language='en', live=True) self.spanish_parent_page = get_or_create_page(apps, 'ask_cfpb', 'AnswerLandingPage', 'Obtener respuestas', SPANISH_PARENT_SLUG, ROOT_PAGE, language='es', live=True) self.tag_results_page_en = get_or_create_page(apps, 'ask_cfpb', 'TagResultsPage', 'Tag results page', 'search-by-tag', ROOT_PAGE, language='en', live=True) self.tag_results_page_es = get_or_create_page(apps, 'ask_cfpb', 'TagResultsPage', 'Tag results page', 'buscar-por-etiqueta', ROOT_PAGE, language='es', live=True) self.answer1234 = self.prepare_answer( id=1234, answer='Mock answer 1', answer_es='Mock Spanish answer', slug='mock-answer-en-1234', slug_es='mock-spanish-answer-es-1234', question='Mock question1', question_es='Mock Spanish question1', search_tags='hippodrome', search_tags_es='hipotecas', update_english_page=True, update_spanish_page=True) self.answer1234.save() self.page1 = AnswerPage(language='en', answer_base=self.answer1234, slug='mock-question-en-1234', title='Mock question1', answer='Mock answer 1', question='Mock question1', search_tags='hippodrome') self.english_parent_page.add_child(instance=self.page1) self.page1.save_revision().publish() self.page1_es = AnswerPage(language='es', slug='mock-spanish-question1-es-1234', title='Mock Spanish question1', answer_base=self.answer1234, answer='Mock Spanish answer', question='Mock Spanish question1', search_tags='hipotecas') self.spanish_parent_page.add_child(instance=self.page1_es) self.page1_es.save_revision().publish() self.answer5678 = self.prepare_answer(id=5678, answer='Mock answer 2', question='Mock question2', search_tags='hippodrome', search_tags_es='hipotecas') self.answer5678.save() self.page2 = AnswerPage(language='en', slug='mock-question2-en-5678', title='Mock question2', answer_base=self.answer5678, answer='Mock answer 2', question='Mock question2', search_tags='hippodrome') self.english_parent_page.add_child(instance=self.page2) self.page2.save_revision().publish()
def setUp(self): self.test_user = User.objects.get(pk=1) self.factory = RequestFactory() ROOT_PAGE = HomePage.objects.get(slug='cfgov') self.category = mommy.make( Category, name='stub_cat', name_es='que', slug='stub-cat') self.category.save() self.test_image = mommy.make(CFGOVImage) self.test_image2 = mommy.make(CFGOVImage) self.next_step = mommy.make(NextStep, title='stub_step') self.portal_topic = mommy.make( PortalTopic, heading='test topic', heading_es='prueba tema') page_clean = mock.patch('ask_cfpb.models.pages.CFGOVPage.clean') page_clean.start() self.addCleanup(page_clean.stop) self.portal_page = SublandingPage( title='test portal page', slug='test-portal-page', portal_topic=self.portal_topic, language='en' ) ROOT_PAGE.add_child(instance=self.portal_page) self.portal_page.save() self.portal_page.save_revision().publish() self.portal_page_es = SublandingPage( title='test portal page', slug='test-portal-page-es', portal_topic=self.portal_topic, language='es' ) ROOT_PAGE.add_child(instance=self.portal_page_es) self.portal_page_es.save() self.portal_page_es.save_revision().publish() self.english_parent_page = get_or_create_page( apps, 'ask_cfpb', 'AnswerLandingPage', 'Ask CFPB', ENGLISH_PARENT_SLUG, ROOT_PAGE, language='en', live=True) self.spanish_parent_page = get_or_create_page( apps, 'ask_cfpb', 'AnswerLandingPage', 'Obtener respuestas', SPANISH_PARENT_SLUG, ROOT_PAGE, language='es', live=True) self.tag_results_page_en = get_or_create_page( apps, 'ask_cfpb', 'TagResultsPage', 'Tag results page', 'search-by-tag', ROOT_PAGE, language='en', live=True) self.tag_results_page_es = get_or_create_page( apps, 'ask_cfpb', 'TagResultsPage', 'Tag results page', 'buscar-por-etiqueta', ROOT_PAGE, language='es', live=True) self.answer1234 = Answer(id=1234) self.answer1234.save() self.page1 = AnswerPage( language='en', answer_base=self.answer1234, slug='mock-question-en-1234', title='Mock question1', answer_content='Mock answer 1', question='Mock question1', search_tags='hippodrome') self.english_parent_page.add_child(instance=self.page1) self.page1.save_revision().publish() self.page1_es = AnswerPage( language='es', slug='mock-spanish-question1-es-1234', title='Mock Spanish question1', answer_base=self.answer1234, answer_content='Mock Spanish answer', question='Mock Spanish question1', search_tags='hipotecas') self.spanish_parent_page.add_child(instance=self.page1_es) self.page1_es.save_revision().publish() self.answer5678 = Answer(id=5678) self.answer5678.save() self.page2 = AnswerPage( language='en', slug='mock-question2-en-5678', title='Mock question2', answer_base=self.answer5678, answer_content='Mock answer 2', question='Mock question2', search_tags='hippodrome') self.english_parent_page.add_child(instance=self.page2) self.page2.save_revision().publish()
def setUp(self): self.site = Site.objects.get(is_default_site=True) self.root_page = self.site.root_page self.portal_topic = baker.make(PortalTopic, heading="test topic", heading_es="prueba tema") self.en_portal_category = baker.make(PortalCategory, heading="test_english_heading") self.es_portal_category = baker.make(PortalCategory, heading="test_spanish_heading") self.en_portal_page = SublandingPage( title="test English portal page", slug="test-en-portal-page", portal_topic=self.portal_topic, language="en", ) self.es_portal_page = SublandingPage( title="test Spanish portal page", slug="test-es-portal-page", portal_topic=self.portal_topic, language="es", ) self.root_page.add_child(instance=self.en_portal_page) self.en_portal_page.save() self.en_portal_page.save_revision().publish() self.en_parent_page = get_or_create_page( apps, "ask_cfpb", "AnswerLandingPage", "Ask CFPB", ENGLISH_PARENT_SLUG, self.root_page, language="en", live=True, ) self.es_parent_page = get_or_create_page( apps, "ask_cfpb", "AnswerLandingPage", "Obtener respuestas", SPANISH_PARENT_SLUG, self.root_page, language="es", live=True, ) self.answer = Answer(id=1234) self.answer.save() self.en_page = AnswerPage( language="en", slug="test-english-question-en-1234", title="Test English question", answer_base=self.answer, answer_content="Test English answer", question="Test English question", search_tags="English", ) self.es_page = AnswerPage( language="es", slug="test-spanish-question-es-1234", title="Test Spanish question", answer_base=self.answer, answer_content="Test Spanish answer", question="Test Spanish question", search_tags="Spanish", ) self.doc = AnswerPageDocument()
def setUp(self): self.test_user = User.objects.get(pk=1) self.ROOT_PAGE = HomePage.objects.get(slug="cfgov") self.category = baker.make( Category, name="stub_cat", name_es="que", slug="stub-cat" ) self.category.save() self.test_image = baker.make(CFGOVImage) self.test_image2 = baker.make(CFGOVImage) self.next_step = baker.make(NextStep, title="stub_step") self.portal_topic = baker.make( PortalTopic, heading="test topic", heading_es="prueba tema" ) page_clean = mock.patch("ask_cfpb.models.pages.CFGOVPage.clean") page_clean.start() self.addCleanup(page_clean.stop) self.portal_page = SublandingPage( title="test portal page", slug="test-portal-page", portal_topic=self.portal_topic, language="en", ) self.ROOT_PAGE.add_child(instance=self.portal_page) self.portal_page.save() self.portal_page.save_revision().publish() self.portal_page_es = SublandingPage( title="test portal page", slug="test-portal-page-es", portal_topic=self.portal_topic, language="es", ) self.ROOT_PAGE.add_child(instance=self.portal_page_es) self.portal_page_es.save() self.portal_page_es.save_revision().publish() self.english_parent_page = get_or_create_page( apps, "ask_cfpb", "AnswerLandingPage", "Ask CFPB", ENGLISH_PARENT_SLUG, self.ROOT_PAGE, language="en", live=True, ) self.spanish_parent_page = get_or_create_page( apps, "ask_cfpb", "AnswerLandingPage", "Obtener respuestas", SPANISH_PARENT_SLUG, self.ROOT_PAGE, language="es", live=True, ) self.tag_results_page_en = get_or_create_page( apps, "ask_cfpb", "TagResultsPage", "Tag results page", "search-by-tag", self.ROOT_PAGE, language="en", live=True, ) self.tag_results_page_es = get_or_create_page( apps, "ask_cfpb", "TagResultsPage", "Tag results page", "buscar-por-etiqueta", self.ROOT_PAGE, language="es", live=True, ) self.answer1234 = Answer(id=1234) self.answer1234.save() self.page1 = AnswerPage( language="en", answer_base=self.answer1234, slug="mock-question-en-1234", title="Mock question1", answer_content="Mock answer 1", question="Mock question1", search_tags="hippodrome", ) self.english_parent_page.add_child(instance=self.page1) self.page1.save_revision().publish() self.page1_es = AnswerPage( language="es", slug="mock-spanish-question1-es-1234", title="Mock Spanish question1", answer_base=self.answer1234, answer_content="Mock Spanish answer", question="Mock Spanish question1", search_tags="hipotecas", ) self.spanish_parent_page.add_child(instance=self.page1_es) self.page1_es.save_revision().publish() self.answer5678 = Answer(id=5678) self.answer5678.save() self.page2 = AnswerPage( language="en", slug="mock-question2-en-5678", title="Mock question2", answer_base=self.answer5678, answer_content="Mock answer 2", question="Mock question2", search_tags="hippodrome", ) self.english_parent_page.add_child(instance=self.page2) self.page2.save_revision().publish()
def setUp(self): from v1.models import HomePage ROOT_PAGE = HomePage.objects.get(slug='cfgov') self.audience = mommy.make(Audience, name='stub_audience') self.category = mommy.make(Category, name='stub_cat', name_es='que') self.subcategories = mommy.make(SubCategory, name='stub_subcat', parent=self.category, _quantity=3) self.category.subcategories.add(self.subcategories[0]) self.category.save() self.test_image = mommy.make(CFGOVImage) self.test_image2 = mommy.make(CFGOVImage) self.next_step = mommy.make(NextStep, title='stub_step') page_clean = patch('ask_cfpb.models.pages.CFGOVPage.clean') page_clean.start() self.addCleanup(page_clean.stop) self.english_parent_page = get_or_create_page(apps, 'ask_cfpb', 'AnswerLandingPage', 'Ask CFPB', ENGLISH_PARENT_SLUG, ROOT_PAGE, language='en', live=True) self.spanish_parent_page = get_or_create_page(apps, 'ask_cfpb', 'AnswerLandingPage', 'Obtener respuestas', SPANISH_PARENT_SLUG, ROOT_PAGE, language='es', live=True) self.tag_results_page_en = get_or_create_page(apps, 'ask_cfpb', 'TagResultsPage', 'Tag results page', 'search-by-tag', ROOT_PAGE, language='en', live=True) self.tag_results_page_es = get_or_create_page(apps, 'ask_cfpb', 'TagResultsPage', 'Tag results page', 'buscar-por-etiqueta', ROOT_PAGE, language='es', live=True) self.answer1234 = self.prepare_answer( id=1234, answer='Mock answer 1', answer_es='Mock Spanish answer', slug='mock-answer-en-1234', slug_es='mock-spanish-answer-es-1234', question='Mock question1', question_es='Mock Spanish question1', search_tags='hippodrome', search_tags_es='hipotecas', update_english_page=True, update_spanish_page=True) self.answer1234.save() self.page1 = self.answer1234.english_page self.page1.live = True self.page1.save() self.page1_es = self.answer1234.spanish_page self.page1_es.live = True self.page1_es.save() self.answer5678 = self.prepare_answer(id=5678, answer='Mock answer 2', question='Mock question2', search_tags='hippodrome', search_tags_es='hipotecas') self.answer5678.save() self.page2 = self.create_answer_page(slug='mock-answer-page-en-5678') self.page2.answer_base = self.answer5678 self.page2.parent = self.english_parent_page self.page2.save()
def setUp(self): from v1.models import HomePage ROOT_PAGE = HomePage.objects.get(slug='cfgov') self.audience = mommy.make(Audience, name='stub_audience') self.category = mommy.make(Category, name='stub_cat', name_es='que') self.subcategories = mommy.make( SubCategory, name='stub_subcat', parent=self.category, _quantity=3) self.category.subcategories.add(self.subcategories[0]) self.category.save() self.test_image = mommy.make(CFGOVImage) self.test_image2 = mommy.make(CFGOVImage) self.next_step = mommy.make(NextStep, title='stub_step') page_clean = patch('ask_cfpb.models.pages.CFGOVPage.clean') page_clean.start() self.addCleanup(page_clean.stop) self.english_parent_page = get_or_create_page( apps, 'ask_cfpb', 'AnswerLandingPage', 'Ask CFPB', ENGLISH_PARENT_SLUG, ROOT_PAGE, language='en', live=True) self.spanish_parent_page = get_or_create_page( apps, 'ask_cfpb', 'AnswerLandingPage', 'Obtener respuestas', SPANISH_PARENT_SLUG, ROOT_PAGE, language='es', live=True) self.tag_results_page_en = get_or_create_page( apps, 'ask_cfpb', 'TagResultsPage', 'Tag results page', 'search-by-tag', ROOT_PAGE, language='en', live=True) self.tag_results_page_es = get_or_create_page( apps, 'ask_cfpb', 'TagResultsPage', 'Tag results page', 'buscar-por-etiqueta', ROOT_PAGE, language='es', live=True) self.answer1234 = self.prepare_answer( id=1234, answer='Mock answer 1', answer_es='Mock Spanish answer', slug='mock-answer-en-1234', slug_es='mock-spanish-answer-es-1234', question='Mock question1', question_es='Mock Spanish question1', search_tags='hippodrome', search_tags_es='hipotecas', update_english_page=True, update_spanish_page=True) self.answer1234.save() self.page1 = self.answer1234.english_page self.page1_es = self.answer1234.spanish_page self.answer5678 = self.prepare_answer( id=5678, answer='Mock answer 2', question='Mock question2', search_tags='hippodrome', search_tags_es='hipotecas') self.answer5678.save() self.page2 = self.create_answer_page(slug='mock-answer-page-en-5678') self.page2.answer_base = self.answer5678 self.page2.parent = self.english_parent_page self.page2.save()
def setUp(self): from v1.models import HomePage from ask_cfpb.models import Answer self.ROOT_PAGE = HomePage.objects.get(slug='cfgov') self.english_parent_page = get_or_create_page( apps, 'ask_cfpb', 'AnswerLandingPage', 'Ask CFPB', ENGLISH_PARENT_SLUG, self.ROOT_PAGE, language='en', live=True) self.spanish_parent_page = get_or_create_page( apps, 'ask_cfpb', 'AnswerLandingPage', 'Obtener respuestas', SPANISH_PARENT_SLUG, self.ROOT_PAGE, language='es', live=True) self.test_answer = mommy.make( Answer, answer="Test answer1.", question="Test question1.", slug='test-question1') self.test_answer2 = mommy.make( Answer, answer="Test answer2.", question="Test question2.", slug='test-question2') self.english_answer_page = AnswerPage( answer_base=self.test_answer, answer_id=self.test_answer.pk, language='en', slug='test-question1-en-{}'.format(self.test_answer.pk), title='Test question1', answer='Test answer1.', question='Test question1.') self.english_parent_page.add_child(instance=self.english_answer_page) self.english_answer_page.save_revision().publish() self.english_answer_page2 = AnswerPage( answer_base=self.test_answer2, answer_id=self.test_answer2.pk, language='en', slug='test-question2-en-{}'.format(self.test_answer2.pk), title='Test question2', answer='Test answer2.', question='Test question2.') self.english_parent_page.add_child(instance=self.english_answer_page2) self.english_answer_page2.save_revision().publish() self.site = mommy.make( Site, root_page=self.ROOT_PAGE, hostname='localhost', port=8000, is_default_site=True) self.sharing_site = mommy.make( SharingSite, site=self.site, hostname='preview.localhost', port=8000)