def test_editable(self): q = QuestionFactory() assert q.editable # unlocked/unarchived q.is_archived = True assert not q.editable # unlocked/archived q.is_locked = True assert not q.editable # locked/archived q.is_archived = False assert not q.editable # locked/unarchived q.is_locked = False assert q.editable # unlocked/unarchived
def test_editable(self): q = QuestionFactory() assert q.editable # unlocked/unarchived q.is_archived = True assert not q.editable # unlocked/archived q.is_locked = True assert not q.editable # locked/archived q.is_archived = False assert not q.editable # locked/unarchived q.is_locked = False assert q.editable # unlocked/unarchived
def test_only_show_wiki_and_questions(self): """Tests that the simple search doesn't show forums This verifies that we're only showing documents of the type that should be shown and that the filters on model are working correctly. Bug #767394 """ p = ProductFactory(slug=u'desktop') ques = QuestionFactory(title=u'audio', product=p) ans = AnswerFactory(question=ques, content=u'volume') AnswerVoteFactory(answer=ans, helpful=True) doc = DocumentFactory(title=u'audio', locale=u'en-US', category=10) doc.products.add(p) RevisionFactory(document=doc, is_approved=True) thread1 = ThreadFactory(title=u'audio') PostFactory(thread=thread1) self.refresh() response = self.client.get(reverse('search'), { 'q': 'audio', 'format': 'json' }) eq_(200, response.status_code) content = json.loads(response.content) eq_(content['total'], 2) # Archive the article and question. They should no longer appear # in simple search results. ques.is_archived = True ques.save() doc.is_archived = True doc.save() self.refresh() response = self.client.get(reverse('search'), { 'q': 'audio', 'format': 'json' }) eq_(200, response.status_code) content = json.loads(response.content) eq_(content['total'], 0)
def test_only_show_wiki_and_questions(self): """Tests that the simple search doesn't show forums This verifies that we're only showing documents of the type that should be shown and that the filters on model are working correctly. Bug #767394 """ p = ProductFactory(slug=u'desktop') ques = QuestionFactory(title=u'audio', product=p) ans = AnswerFactory(question=ques, content=u'volume') AnswerVoteFactory(answer=ans, helpful=True) doc = DocumentFactory(title=u'audio', locale=u'en-US', category=10) doc.products.add(p) RevisionFactory(document=doc, is_approved=True) thread1 = ThreadFactory(title=u'audio') PostFactory(thread=thread1) self.refresh() response = self.client.get(reverse('search'), { 'q': 'audio', 'format': 'json'}) eq_(200, response.status_code) content = json.loads(response.content) eq_(content['total'], 2) # Archive the article and question. They should no longer appear # in simple search results. ques.is_archived = True ques.save() doc.is_archived = True doc.save() self.refresh() response = self.client.get(reverse('search'), { 'q': 'audio', 'format': 'json'}) eq_(200, response.status_code) content = json.loads(response.content) eq_(content['total'], 0)
def test_search_suggestions_questions(self): """Verifies the view doesn't kick up an HTTP 500""" p = ProductFactory(slug=u"firefox") locale = QuestionLocale.objects.get(locale=settings.LANGUAGE_CODE) p.questions_locales.add(locale) TopicFactory(title="Fix problems", slug="fix-problems", product=p) q = QuestionFactory(product=p, title=u"CupcakesQuestion cupcakes") d = DocumentFactory(title=u"CupcakesKB cupcakes", category=10) d.products.add(p) RevisionFactory(document=d, is_approved=True) self.refresh() url = urlparams( reverse("questions.aaq_step4", args=["desktop", "fix-problems"]), search="cupcakes", ) response = self.client.get(url, follow=True) eq_(200, response.status_code) assert "CupcakesQuestion" in response.content assert "CupcakesKB" in response.content # Verify that archived articles and questions aren't shown... # Archive both and they shouldn't appear anymore. q.is_archived = True q.save() d.is_archived = True d.save() self.refresh() response = self.client.get(url, follow=True) eq_(200, response.status_code) assert "CupcakesQuestion" not in response.content assert "CupcakesKB" not in response.content
def test_search_suggestions_questions(self): """Verifies the view doesn't kick up an HTTP 500""" p = ProductFactory(slug=u'firefox') l = QuestionLocale.objects.get(locale=settings.LANGUAGE_CODE) p.questions_locales.add(l) TopicFactory(title='Fix problems', slug='fix-problems', product=p) q = QuestionFactory(product=p, title=u'CupcakesQuestion cupcakes') d = DocumentFactory(title=u'CupcakesKB cupcakes', category=10) d.products.add(p) RevisionFactory(document=d, is_approved=True) self.refresh() url = urlparams( reverse('questions.aaq_step4', args=['desktop', 'fix-problems']), search='cupcakes') response = self.client.get(url, follow=True) eq_(200, response.status_code) assert 'CupcakesQuestion' in response.content assert 'CupcakesKB' in response.content # Verify that archived articles and questions aren't shown... # Archive both and they shouldn't appear anymore. q.is_archived = True q.save() d.is_archived = True d.save() self.refresh() response = self.client.get(url, follow=True) eq_(200, response.status_code) assert 'CupcakesQuestion' not in response.content assert 'CupcakesKB' not in response.content