Source code for pagetools.pages.tests.test_admin

from django.contrib.auth.models import User  # pylint: disable=imported-auth-user
from django.test.client import Client
from django.test.testcases import TestCase
from django.urls import reverse
from django.utils.text import slugify

from pagetools.pages.models import Page


[docs]class AdminTests(TestCase):
[docs] def setUp(self): self.client = Client() self.admin = User.objects.create_superuser("admin", "q@w.de", "password") self.addpageurl = reverse("admin:pages_page_add", args=[]) self.pages_data = [ ("P1", "Foo", True), ]
def _add_page(self, args): title, content = args[:2] status = "published" if args[2] else "draft" slug = slugify(title) if len(args) < 4 else args[3] response = self.client.post( self.addpageurl, { "title": title, "slug": slug, "content": content, "status": status, }, ) return response.status_code
[docs] def test_add_page(self): self.client.login(username="admin", password="password") for data in self.pages_data: status_code = self._add_page(data) self.assertTrue(status_code in (200, 302)) self.assertEqual(len(Page.objects.all()), len(self.pages_data))