def test_case_insensitive_search(self): """Ensure the default searcher is case insensitive.""" answer_vote(answer=answer(question=question(title='lolrus', content='I am the lolrus.', save=True), save=True), helpful=True).save() self.refresh() result = question_searcher(dummy_request).query('LOLRUS') assert len(result) > 0
def test_case_insensitive_search(self): """Ensure the default searcher is case insensitive.""" answer_vote( answer=answer(question=question(title='lolrus', content='I am the lolrus.', save=True), save=True), helpful=True).save() self.refresh() result = question_searcher(dummy_request).query('LOLRUS') assert len(result) > 0
def test_front_page_search_for_questions(self): """This tests whether doing a search from the front page returns question results. Bug #709202. """ # Create a question with an answer with an answervote that # marks the answer as helpful. The question should have the # "desktop" tag. ques = question(title=u'audio fails', content=u'my audio dont work.') ques.save() ques.tags.add(u'desktop') ans = answer(question=ques, content=u'You need to turn your volume up.') ans.save() ansvote = answer_vote(answer=ans, helpful=True) ansvote.save() self.refresh() # This is the search that you get when you start on the sumo # homepage and do a search from the box with two differences: # first, we do it in json since it's easier to deal with # testing-wise and second, we search for 'audio' since we have # data for that. response = self.localizing_client.get( reverse('search'), { 'q_tags': 'desktop', 'product': 'desktop', 'q': 'audio', 'format': 'json' }) eq_(200, response.status_code) content = json.loads(response.content) eq_(content['total'], 1) # This is another search that picks up results based on the # answer_content. answer_content is in a string array, so # this makes sure that works. response = self.localizing_client.get( reverse('search'), { 'q_tags': 'desktop', 'product': 'desktop', 'q': 'volume', 'format': 'json' }) eq_(200, response.status_code) content = json.loads(response.content) eq_(content['total'], 1)
def test_front_page_search_for_questions(self): """This tests whether doing a search from the front page returns question results. Bug #709202. """ # Create a question with an answer with an answervote that # marks the answer as helpful. The question should have the # "desktop" tag. ques = question( title=u'audio fails', content=u'my audio dont work.') ques.save() ques.tags.add(u'desktop') ans = answer( question=ques, content=u'You need to turn your volume up.') ans.save() ansvote = answer_vote( answer=ans, helpful=True) ansvote.save() self.refresh() # This is the search that you get when you start on the sumo # homepage and do a search from the box with two differences: # first, we do it in json since it's easier to deal with # testing-wise and second, we search for 'audio' since we have # data for that. response = self.localizing_client.get(reverse('search'), { 'q_tags': 'desktop', 'product': 'desktop', 'q': 'audio', 'format': 'json' }) eq_(200, response.status_code) content = json.loads(response.content) eq_(content['total'], 1) # This is another search that picks up results based on the # answer_content. answer_content is in a string array, so # this makes sure that works. response = self.localizing_client.get(reverse('search'), { 'q_tags': 'desktop', 'product': 'desktop', 'q': 'volume', 'format': 'json' }) eq_(200, response.status_code) content = json.loads(response.content) eq_(content['total'], 1)
def test_vote(self): """Test vote API call.""" u = user(save=True) add_permission(u, Profile, 'view_kpi_dashboard') r = revision(save=True) helpful_vote(revision=r, save=True) helpful_vote(revision=r, save=True) helpful_vote(revision=r, helpful=True, save=True) a = answer(save=True) answer_vote(answer=a, save=True) answer_vote(answer=a, helpful=True, save=True) answer_vote(answer=a, helpful=True, save=True) url = reverse('api_dispatch_list', kwargs={'resource_name': 'kpi_vote', 'api_name': 'v1'}) self.client.login(username=u.username, password='******') response = self.client.get(url + '?format=json') eq_(200, response.status_code) r = json.loads(response.content) eq_(r['objects'][0]['kb_helpful'], 1) eq_(r['objects'][0]['kb_votes'], 3) eq_(r['objects'][0]['ans_helpful'], 2) eq_(r['objects'][0]['ans_votes'], 3)
def test_vote(self): """Test vote API call.""" r = revision(save=True) helpful_vote(revision=r, save=True) helpful_vote(revision=r, save=True) helpful_vote(revision=r, helpful=True, save=True) a = answer(save=True) answer_vote(answer=a, save=True) answer_vote(answer=a, helpful=True, save=True) answer_vote(answer=a, helpful=True, save=True) url = reverse('api_dispatch_list', kwargs={'resource_name': 'kpi_vote', 'api_name': 'v1'}) response = self.client.get(url + '?format=json') eq_(200, response.status_code) r = json.loads(response.content) eq_(r['objects'][0]['kb_helpful'], 1) eq_(r['objects'][0]['kb_votes'], 3) eq_(r['objects'][0]['ans_helpful'], 2) eq_(r['objects'][0]['ans_votes'], 3)