def test_form_saving(self): QUESTION_POST = { 'title': 'This is a title friend!', 'body': 'This is the body friend!', 'status': 'private' } form = QuestionForm(self.joe, QUESTION_POST) self.assertTrue(form.is_valid()) question = form.save() self.assertEquals(question.status, 'private') self.assertEquals(question.name, None) self.assertEquals(question.email, None) self.assertEquals(question.title, 'This is a title friend!') self.assertEquals(question.body, 'This is the body friend!') self.assertEquals(question.user, self.joe) RESPONSE_POST = {'body': 'This is the response body friend!'} form = ResponseForm(self.joe, question, RESPONSE_POST) self.assertTrue(form.is_valid()) response = form.save() self.assertEquals(response.status, 'inherit') self.assertEquals(response.name, None) self.assertEquals(response.email, None) self.assertEquals(response.body, 'This is the response body friend!') self.assertEquals(response.user, self.joe)
def test_ALLOW_ANONYMOUS(self): self.assertFalse(settings.ALLOW_ANONYMOUS) self.assertEqual( None, QuestionForm(self.anon) ) self.assertEqual( None, ResponseForm(self.anon, self.question) ) ############# flip setting ############## settings.ALLOW_ANONYMOUS = not settings.ALLOW_ANONYMOUS ############# flip setting ############## self.assertNotEqual( None, QuestionForm(self.anon) ) self.assertNotEqual( None, ResponseForm(self.anon, self.question) ) form = QuestionForm(self.anon) self.assertNotIn('status', list(form.fields.keys())) # missing the name/email... QUESTION_POST = { 'title': 'This is a title friend!', 'body': 'This is the body friend!' } form = QuestionForm(self.anon, QUESTION_POST) self.assertFalse(form.is_valid()) QUESTION_POST = { 'name': 'Test Guy', 'email': '*****@*****.**', 'title': 'This is a title friend!', 'body': 'This is the body friend!' } form = QuestionForm(self.anon, QUESTION_POST) self.assertTrue(form.is_valid()) question = form.save() # question has no user and is public by default self.assertFalse(question.user) self.assertEqual(question.name, 'Test Guy') self.assertEqual(question.email, '*****@*****.**') self.assertEqual(question.status, 'public') ############# flip setting ############## settings.ALLOW_ANONYMOUS = not settings.ALLOW_ANONYMOUS
def knowledge_ask(request, template='django_knowledge/ask.html'): if not user_can_ask_question(request.user): return redirect(reverse('knowledge_index')) if settings.LOGIN_REQUIRED and not request.user.is_authenticated(): return HttpResponseRedirect(settings.LOGIN_URL + "?next=%s" % request.path) form = QuestionForm(request.user, request.POST or None) if request.method == 'POST' and form.is_valid(): if request.user.is_authenticated( ) or not form.cleaned_data['phone_number']: question = form.save() return redirect(question.get_absolute_url()) else: return redirect('knowledge_index') return render( request, template, { 'request': request, 'form': form, 'categories': Category.objects.all(), 'BASE_TEMPLATE': settings.BASE_TEMPLATE, })
def test_ALLOW_ANONYMOUS(self): self.assertFalse(settings.ALLOW_ANONYMOUS) self.assertEqual(None, QuestionForm(self.anon)) self.assertEqual(None, ResponseForm(self.anon, self.question)) ############# flip setting ############## settings.ALLOW_ANONYMOUS = not settings.ALLOW_ANONYMOUS ############# flip setting ############## self.assertNotEqual(None, QuestionForm(self.anon)) self.assertNotEqual(None, ResponseForm(self.anon, self.question)) form = QuestionForm(self.anon) self.assertNotIn('status', form.fields.keys()) # missing the name/email... QUESTION_POST = { 'title': 'This is a title friend!', 'body': 'This is the body friend!' } form = QuestionForm(self.anon, QUESTION_POST) self.assertFalse(form.is_valid()) QUESTION_POST = { 'name': 'Test Guy', 'email': '*****@*****.**', 'title': 'This is a title friend!', 'body': 'This is the body friend!' } form = QuestionForm(self.anon, QUESTION_POST) self.assertTrue(form.is_valid()) question = form.save() # question has no user and is public by default self.assertFalse(question.user) self.assertEquals(question.name, 'Test Guy') self.assertEquals(question.email, '*****@*****.**') self.assertEquals(question.status, 'public') ############# flip setting ############## settings.ALLOW_ANONYMOUS = not settings.ALLOW_ANONYMOUS
def test_ALLOW_ANONYMOUS(self): self.assertFalse(settings.ALLOW_ANONYMOUS) self.assertEqual(None, QuestionForm(self.anon)) self.assertEqual(None, ResponseForm(self.anon, self.question)) ############# flip setting ############## settings.ALLOW_ANONYMOUS = not settings.ALLOW_ANONYMOUS ############# flip setting ############## self.assertNotEqual(None, QuestionForm(self.anon)) self.assertNotEqual(None, ResponseForm(self.anon, self.question)) form = QuestionForm(self.anon) self.assertNotIn("status", form.fields.keys()) # missing the name/email... QUESTION_POST = {"title": "This is a title friend!", "body": "This is the body friend!"} form = QuestionForm(self.anon, QUESTION_POST) self.assertFalse(form.is_valid()) QUESTION_POST = { "name": "Test Guy", "email": "*****@*****.**", "title": "This is a title friend!", "body": "This is the body friend!", } form = QuestionForm(self.anon, QUESTION_POST) self.assertTrue(form.is_valid()) question = form.save() # question has no user and is public by default self.assertFalse(question.user) self.assertEquals(question.name, "Test Guy") self.assertEquals(question.email, "*****@*****.**") self.assertEquals(question.status, "public") ############# flip setting ############## settings.ALLOW_ANONYMOUS = not settings.ALLOW_ANONYMOUS
def test_form_saving(self): QUESTION_POST = { 'user': self.joe.pk, 'title': 'This is a title friend!', 'body': 'This is the body friend!', 'status': 'draft', 'categories': '' } form = QuestionForm(self.joe, QUESTION_POST) self.assertTrue(form.is_valid()) question = form.save() self.assertEquals(question.status, 'draft') self.assertEquals(question.name, None) self.assertEquals(question.email, None) self.assertEquals(question.title, 'This is a title friend!') self.assertEquals(question.body, 'This is the body friend!') self.assertEquals(question.user, self.joe) RESPONSE_POST = { 'body': 'This is the response body friend!' } form = ResponseForm(self.joe, question, RESPONSE_POST) self.assertTrue(form.is_valid()) response = form.save() self.assertEquals(response.status, 'inherit') self.assertEquals(response.name, None) self.assertEquals(response.email, None) self.assertEquals(response.body, 'This is the response body friend!') self.assertEquals(response.user, self.joe)