本文整理汇总了Python中questions.tests.answer函数的典型用法代码示例。如果您正苦于以下问题:Python answer函数的具体用法?Python answer怎么用?Python answer使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了answer函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_asker_replies_arent_a_contribution
def test_asker_replies_arent_a_contribution(self):
"""Verify that replies posted by the question creator aren't counted.
If a user has 10 replies to their own question, they aren't counted as
a contributor.
"""
# A user with 10 answers to own question.
q = question(save=True)
u = q.creator
for x in range(10):
answer(creator=u, question=q, save=True)
# Create metric kinds and update metrics for tomorrow (today's
# activity shows up tomorrow).
self._make_contributor_metric_kinds()
update_contributor_metrics(day=date.today() + timedelta(days=1))
r = self._get_api_result('kpi_active_contributors')
eq_(r['objects'][0]['support_forum'], 0)
# Change the question creator, now we should have 1 contributor.
q.creator = user(save=True)
q.save()
cache.clear() # We need to clear the cache for new results.
Metric.objects.all().delete()
update_contributor_metrics(day=date.today() + timedelta(days=1))
r = self._get_api_result('kpi_active_contributors')
eq_(r['objects'][0]['support_forum'], 1)
示例2: test_recent_counts_with_filter
def test_recent_counts_with_filter(self):
"""Verify that recent_asked_count and recent_unanswered_count
respect filters passed."""
now = datetime.now()
question(created=now, locale='en-US', save=True)
q = question(created=now, locale='en-US', save=True)
answer(question=q, save=True)
question(created=now, locale='pt-BR', save=True)
question(created=now, locale='pt-BR', save=True)
q = question(created=now, locale='pt-BR', save=True)
answer(question=q, save=True)
# 5 asked recently, 3 are unanswered
eq_(5, Question.recent_asked_count())
eq_(3, Question.recent_unanswered_count())
# check english (2 asked, 1 unanswered)
locale_filter = Q(locale='en-US')
eq_(2, Question.recent_asked_count(locale_filter))
eq_(1, Question.recent_unanswered_count(locale_filter))
# check pt-BR (3 asked, 2 unanswered)
locale_filter = Q(locale='pt-BR')
eq_(3, Question.recent_asked_count(locale_filter))
eq_(2, Question.recent_unanswered_count(locale_filter))
示例3: test_created
def test_created(self):
"""Basic functionality of created filter."""
created_ds = datetime(2010, 6, 19, 12, 00)
# on 6/19/2010
q1 = question(title=u"q1 audio", created=created_ds, save=True)
q1.tags.add(u"desktop")
ans = answer(question=q1, save=True)
answervote(answer=ans, helpful=True, save=True)
# on 6/21/2010
q2 = question(title=u"q2 audio", created=(created_ds + timedelta(days=2)), save=True)
q2.tags.add(u"desktop")
ans = answer(question=q2, save=True)
answervote(answer=ans, helpful=True, save=True)
self.refresh()
qs = {"a": 1, "w": 2, "format": "json", "sortby": 2, "created_date": "06/20/2010"}
qs["created"] = constants.INTERVAL_BEFORE
response = self.client.get(reverse("search"), qs)
results = json.loads(response.content)["results"]
eq_([q1.get_absolute_url()], [r["url"] for r in results])
qs["created"] = constants.INTERVAL_AFTER
response = self.client.get(reverse("search"), qs)
results = json.loads(response.content)["results"]
eq_([q2.get_absolute_url()], [r["url"] for r in results])
示例4: test_created
def test_created(self):
"""Basic functionality of created filter."""
created_ds = datetime(2010, 6, 19, 12, 00)
# on 6/19/2010
q1 = question(title=u'q1 audio', created=created_ds, save=True)
q1.tags.add(u'desktop')
ans = answer(question=q1, save=True)
answervote(answer=ans, helpful=True, save=True)
# on 6/21/2010
q2 = question(title=u'q2 audio',
created=(created_ds + timedelta(days=2)),
save=True)
q2.tags.add(u'desktop')
ans = answer(question=q2, save=True)
answervote(answer=ans, helpful=True, save=True)
self.refresh()
qs = {'a': 1, 'w': 2, 'format': 'json',
'sortby': 2, 'created_date': '06/20/2010'}
qs['created'] = constants.INTERVAL_BEFORE
response = self.client.get(reverse('search'), qs)
results = json.loads(response.content)['results']
eq_([q1.get_absolute_url()], [r['url'] for r in results])
qs['created'] = constants.INTERVAL_AFTER
response = self.client.get(reverse('search'), qs)
results = json.loads(response.content)['results']
eq_([q2.get_absolute_url()], [r['url'] for r in results])
示例5: test_user_num_answers
def test_user_num_answers(self):
u = user(save=True)
q = question(save=True)
eq_(user_num_answers(u), 0)
a1 = answer(creator=u, question=q, save=True)
eq_(user_num_answers(u), 1)
a2 = answer(creator=u, question=q, save=True)
eq_(user_num_answers(u), 2)
a1.delete()
eq_(user_num_answers(u), 1)
a2.delete()
eq_(user_num_answers(u), 0)
示例6: test_recent_counts
def test_recent_counts(self):
"""Verify recent_asked_count and recent unanswered count."""
# create a question for each of past 4 days
now = datetime.now()
question(created=now, save=True)
question(created=now - timedelta(hours=24), save=True, is_locked=True)
q = question(created=now - timedelta(hours=48), save=True)
answer(question=q, save=True)
# 73 hours instead of 72 to avoid random test fails.
question(created=now - timedelta(hours=73), save=True)
# Only 3 are recent from last 72 hours, 1 has an answer.
eq_(3, Question.recent_asked_count())
eq_(1, Question.recent_unanswered_count())
示例7: test_questions
def test_questions(self):
"""Test questions API call."""
# A question with a solution:
a = answer(save=True)
a.question.solution = a
a.question.save()
# A question with an answer:
answer(save=True)
# A question without answers:
question(save=True)
r = self._get_api_result('kpi_questions')
eq_(r['objects'][0]['solved'], 1)
eq_(r['objects'][0]['responded'], 2)
eq_(r['objects'][0]['questions'], 3)
示例8: test_vote
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='testpass')
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)
示例9: test_front_page_search_paging
def test_front_page_search_paging(self):
# Create 30 documents
for i in range(30):
doc = document(
title=u'How to fix your audio %d' % i,
locale=u'en-US',
category=10,
save=True)
doc.tags.add(u'desktop')
revision(document=doc, is_approved=True, save=True)
# Create 20 questions
for i in range(20):
ques = question(title=u'audio', content=u'audio bad.', save=True)
ques.tags.add(u'desktop')
ans = answer(question=ques, save=True)
answervote(answer=ans, helpful=True, save=True)
self.refresh()
response = self.client.get(reverse('search'), {
'q_tags': 'desktop', 'product': 'desktop', 'q': 'audio',
'format': 'json'
})
eq_(200, response.status_code)
content = json.loads(response.content)
# Make sure there are 20 results.
eq_(content['total'], 20)
# Make sure only 10 of them are kb.
docs = [mem for mem in content['results']
if mem['type'] == 'document']
eq_(len(docs), 10)
示例10: test_product_facets
def test_product_facets(self):
"""Verify the facet counts on the results page."""
# Create products, questions and documents.
p1 = product(title="Firefox", slug="firefox", save=True)
p2 = product(title="Firefox for mobile", slug="mobile", save=True)
ques = question(title=u"audio", save=True)
ques.products.add(p1)
ans = answer(question=ques, content=u"volume", save=True)
answervote(answer=ans, helpful=True, save=True)
doc = document(title=u"audio", locale=u"en-US", category=10, save=True)
doc.products.add(p1)
doc.products.add(p2)
revision(document=doc, is_approved=True, save=True)
self.refresh()
# There should be 2 total results, 2 "firefox" results and
# 1 "mobile" result.
response = self.client.get(reverse("search"), {"q": "audio"})
eq_(200, response.status_code)
doc = pq(response.content)
eq_("Found 2 results for audio in English", doc("h2").text())
facet_text = doc("#product-filter").text()
assert "Firefox (2)" in facet_text
assert "Firefox for mobile (1)" in facet_text
示例11: test_front_page_only_shows_wiki_and_questions
def test_front_page_only_shows_wiki_and_questions(self):
"""Tests that the front page 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
"""
ques = question(title=u"audio", save=True)
ques.tags.add(u"desktop")
ans = answer(question=ques, content=u"volume", save=True)
answervote(answer=ans, helpful=True, save=True)
doc = document(title=u"audio", locale=u"en-US", category=10, save=True)
doc.products.add(product(slug=u"desktop", save=True))
revision(document=doc, is_approved=True, save=True)
thread1 = thread(title=u"audio", save=True)
post(thread=thread1, save=True)
self.refresh()
response = self.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"], 2)
示例12: test_suggestions
def test_suggestions(self, get_current):
"""Suggestions API is well-formatted."""
get_current.return_value.domain = 'testserver'
doc = document(title=u'doc1 audio', locale=u'en-US',
is_archived=False, save=True)
revision(document=doc, summary=u'audio', content=u'audio',
is_approved=True, save=True)
ques = question(title=u'q1 audio', save=True)
ques.tags.add(u'desktop')
ans = answer(question=ques, save=True)
answervote(answer=ans, helpful=True, save=True)
self.refresh()
response = self.client.get(reverse('search.suggestions',
locale='en-US'),
{'q': 'audio'})
eq_(200, response.status_code)
eq_('application/x-suggestions+json', response['content-type'])
results = json.loads(response.content)
eq_('audio', results[0])
eq_(2, len(results[1]))
eq_(0, len(results[2]))
eq_(2, len(results[3]))
示例13: test_asked_by
def test_asked_by(self):
"""Check several author values, including test for (anon)"""
author_vals = (
('DoesNotExist', 0),
('jsocol', 2),
('pcraciunoiu', 2),
)
# Set up all the question data---creats users, creates the
# questions, shove it all in the index, then query it and see
# what happens.
for name, number in author_vals:
u = user(username=name, save=True)
for i in range(number):
ques = question(title=u'audio', creator=u, save=True)
ques.tags.add(u'desktop')
ans = answer(question=ques, save=True)
answervote(answer=ans, helpful=True, save=True)
self.refresh()
qs = {'a': 1, 'w': 2, 'format': 'json'}
for author, total in author_vals:
qs.update({'asked_by': author})
response = self.client.get(reverse('search'), qs)
eq_(total, json.loads(response.content)['total'])
示例14: test_added
def test_added(self):
search = QuestionMappingType.search()
# Create a question--that adds one document to the index.
q = question(title=u'Does this test work?', save=True)
self.refresh()
query = dict(('%s__text' % field, 'test')
for field in QuestionMappingType.get_query_fields())
eq_(search.query(should=True, **query).count(), 1)
# Create an answer for the question. It shouldn't be searchable
# until the answer is saved.
a = answer(content=u'There\'s only one way to find out!',
question=q)
self.refresh()
query = dict(('%s__text' % field, 'only')
for field in QuestionMappingType.get_query_fields())
eq_(search.query(should=True, **query).count(), 0)
a.save()
self.refresh()
query = dict(('%s__text' % field, 'only')
for field in QuestionMappingType.get_query_fields())
eq_(search.query(should=True, **query).count(), 1)
# Make sure that there's only one question document in the
# index--creating an answer should have updated the existing
# one.
eq_(search.count(), 1)
示例15: test_default_only_shows_wiki_and_questions
def test_default_only_shows_wiki_and_questions(self):
"""Tests that the default 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 = product(slug=u'desktop', save=True)
ques = question(title=u'audio', save=True)
ques.products.add(p)
ans = answer(question=ques, content=u'volume', save=True)
answervote(answer=ans, helpful=True, save=True)
doc = document(title=u'audio', locale=u'en-US', category=10, save=True)
doc.products.add(p)
revision(document=doc, is_approved=True, save=True)
thread1 = thread(title=u'audio', save=True)
post(thread=thread1, save=True)
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)