def test_mezzanine_form(self): page = Form.objects.create(slug='my-form') page.save() field = Field.objects.create(form=page, field_type=3, required=False) field.save() page_middleware = PageMiddleware() request = test.RequestFactory().post( '/my-form', data={'field_1': '*****@*****.**'}) request.user = User.objects.get_or_create(pk=1)[0] SessionMiddleware().process_request(request) request.session.save() self.assertEqual( len(mail.outbox), 0, ) page_middleware.process_view(request, mezzanine_page_view, {}, {}) self.assertEqual(len(mail.outbox), 1) self.assertNotIn('access your downloads', mail.outbox[0].body) download = Download.objects.create() download.forms.add(page) download.save() page_middleware.process_view(request, mezzanine_page_view, {}, {}) self.assertEqual(len(mail.outbox), 2) self.assertIn('access your downloads', mail.outbox[1].body)
def test_exact_page_processor_for(self): """ Test that passing exact_page=True works with the PageMiddleware """ from mezzanine.pages.middleware import PageMiddleware from mezzanine.pages.page_processors import processor_for from mezzanine.pages.views import page as page_view @processor_for('foo/bar', exact_page=True) def test_page_processor(request, page): return HttpResponse("bar") foo, _ = RichTextPage.objects.get_or_create(title="foo") bar, _ = RichTextPage.objects.get_or_create(title="bar", parent=foo) request = self._request_factory.get('/foo/bar/') request.user = self._user response = PageMiddleware().process_view(request, page_view, [], {}) self.assertTrue(isinstance(response, HttpResponse)) self.assertContains(response, "bar")