def test_sending_alerts_dedupe(self): """ One question by joe, two responses by admin: bob responds. """ ######## SETUP self.assertTrue(settings.ALERTS) RESPONSE_POST = { 'body': 'This is the response body friend!', 'status': 'inherit', 'alert': settings.ALERTS, } # another admin response response = ResponseForm(self.admin, self.question, RESPONSE_POST).save() mail.outbox = [] # reset self.assertEqual(len(mail.outbox), 0) ######## TEARDOWN RESPONSE_POST = { 'body': 'This is the response body friend!', 'alert': settings.ALERTS, } # question is by joe, first response is by admin form = ResponseForm(self.bob, self.question, RESPONSE_POST) self.assertTrue(form.is_valid()) response = form.save() self.assertTrue(response.alert) self.assertEqual(len(mail.outbox), 2) # one for joe, one for admin
def knowledge_thread(request, question_id, slug=None, template='django_knowledge/thread.html'): if settings.LOGIN_REQUIRED and not request.user.is_authenticated(): return HttpResponseRedirect(settings.LOGIN_URL + "?next=%s" % request.path) try: question = Question.objects.can_view(request.user)\ .get(id=question_id) except Question.DoesNotExist: if Question.objects.filter(id=question_id).exists() and \ hasattr(settings, 'LOGIN_REDIRECT_URL'): return redirect(settings.LOGIN_REDIRECT_URL) else: raise Http404 responses = question.get_responses(request.user) if request.path != question.get_absolute_url(): return redirect(question.get_absolute_url(), permanent=True) form = ResponseForm(request.user, question, request.POST or None) if request.method == 'POST' and form.is_valid(): if request.user.is_authenticated( ) or not form.cleaned_data['phone_number']: form.save() return redirect(question.get_absolute_url()) return render( request, template, { 'request': request, 'question': question, 'responses': responses, 'allowed_mods': ALLOWED_MODS, 'form': form, 'categories': Category.objects.all(), 'BASE_TEMPLATE': settings.BASE_TEMPLATE, })
def test_sending_alerts_normal(self): """ One question by joe, one response by admin: bob responds. """ self.assertTrue(settings.ALERTS) self.assertEqual(len(mail.outbox), 0) RESPONSE_POST = { 'body': 'This is the response body friend!', 'alert': settings.ALERTS, } # question is by joe, first response is by admin form = ResponseForm(self.bob, self.question, RESPONSE_POST) self.assertTrue(form.is_valid()) response = form.save() self.assertTrue(response.alert) self.assertEqual(len(mail.outbox), 2) # one for joe, one for admin