def test_contact_form_is_valid_sends(self):
     """when the contact form is valid the valid signal is sent"""
     # our test dict confirms that the signal not sent
     global testdict
     self.assertEqual(testdict['signal_sent'], False)
     # test listener
     def test_listener(**kwargs):
         global testdict
         testdict['signal_sent'] = True
     # connect it
     contact_form_is_valid.connect(
             test_listener,
             dispatch_uid='test_contact_form_is_valid_sends')
     # now get the response
     response = contact(self.request)
     # test dict has been updated
     self.assertEqual(testdict['signal_sent'], True)
 def test_sends_correct_arguments(self):
     """"test that the view passes the signal the correct args"""
     global testdict
     # the listener
     def test_listener(sender, request, form, **kwargs):
         global testdict
         testdict['request'] = request
         testdict['form'] = form
     # connect it
     contact_form_is_valid.connect(
             test_listener,
             dispatch_uid='test_sends_correct_arguments')
     # now get the response
     response = contact(self.request)
     # test dict has been updated
     self.assertTrue(testdict['request'], True)
     self.assertTrue(testdict['form'], True)
Example #3
0
 def test_send(self):
     """if the correcy data is sent, then a message is sent"""
     self.assertEqual(0, Message.objects.count())
     # send data including honeypot
     data = {
         "name": "Tester",
         "subject": "I want to buy",
         "email": "*****@*****.**",
         "phone": "9789789",
         "m": "I want to buy all the things",
     }
     request = self.rf.post(reverse("cccontact:contact"), data)
     response = contact(request)
     # 200 response
     self.assertEqual(302, response.status_code)
     # no messages
     self.assertEqual(1, Message.objects.count())
 def test_badheadererror_subject(self):
     """BadHeaderError are handled gracefully"""
     # none
     self.assertEqual(0, Message.objects.count())
     # set up
     data = {
             'name': 'Tester',
             'subject': 'I want to buy\n\n\ncc:[email protected]',
             'email': '*****@*****.**',
             'phone': '9789789',
             'm': 'I want to buy all the things'}
     # post it
     request = self.rf.post(
             reverse('cccontact:contact'),
             data)
     # get response
     response = contact(request)
     # now have one
     self.assertEqual(1, Message.objects.count())
Example #5
0
 def test_contact_honeypot(self):
     """if data is entered into the honeypot then abort,
     but do so silently and return a 200"""
     self.assertEqual(0, Message.objects.count())
     # send data including honeypot
     data = {
         "name": "Tester",
         "subject": "Oh HAI",
         "email": "*****@*****.**",
         "message": "buy viagra",
         "phone": "9789789",
         "m": "buy viagra",
     }
     request = self.rf.post(reverse("cccontact:contact"), data)
     response = contact(request)
     # 200 response
     self.assertEqual(200, response.status_code)
     # no messages
     self.assertEqual(0, Message.objects.count())
Example #6
0
 def test_contact_200_post(self):
     """The contact view gives a 200 status"""
     request = self.rf.post(reverse("cccontact:contact"), {})
     response = contact(request)
     self.assertEqual(200, response.status_code)