Source code for pagetools.widgets.tests.test_admin

from django.contrib import admin
from django.contrib.auth import get_user_model
from django.contrib.contenttypes.models import ContentType
from django.test.testcases import TestCase

from pagetools.utils import get_adminadd_url, get_adminedit_url
from pagetools.widgets.models import ContentWidget, PageType, TypeArea


[docs]class TypeAreaAdminTests(TestCase):
[docs] def setUp(self): self.admin = get_user_model().objects.create_superuser("admin", "q@w.de", "password") self.client.login(username="admin", password="password") self.site = admin.sites.AdminSite() self.pagetype = PageType.objects.create(name="base")
# self.typearea = TypeArea.objects.create( # type=self.pagetype, area="sidebar") def _test_add_typearea(self): response = self.client.post( get_adminadd_url(TypeArea), { "pagetype": self.pagetype.pk, "area": "sidebar", "widgets-TOTAL_FORMS": 1, "widgets-INITIAL_FORMS": 0, }, follow=True, ) self.assertEqual(response.status_code, 200) def _test_add_contentwidget(self): response = self.client.post( get_adminadd_url(ContentWidget), { "name": "name1", "content": "txt1", }, follow=True, ) self.assertEqual(response.status_code, 200) self.assertEqual(len(ContentWidget.objects.filter(name="name1")), 1)
[docs] def test_edit(self): self._test_add_typearea() self._test_add_contentwidget() typearea = TypeArea.objects.get(pagetype=self.pagetype, area="sidebar") adminurl = get_adminedit_url(typearea) response = self.client.get(adminurl) self.assertEqual(response.status_code, 200) self.assertEqual(str(typearea), "sidebar_base") widget = ContentWidget.objects.get(name="name1") data = typearea.__dict__ data.update( { "widgets-TOTAL_FORMS": 1, "widgets-INITIAL_FORMS": 0, # 'widgets-MAX_NUM_FORMS':1000, "add_objs": "%s_%s" % (ContentType.objects.get_for_model(widget).pk, widget.pk), } ) response = self.client.post(adminurl, data, follow=True) self.assertEqual(response.status_code, 200)