File: test_admin.py

package info (click to toggle)
python-django-rules 3.5.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 320 kB
  • sloc: python: 1,613; makefile: 5; sh: 3
file content (28 lines) | stat: -rw-r--r-- 1,274 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from django.test import TestCase
from django.urls import reverse

from . import TestData


class ModelAdminTests(TestData, TestCase):
    def test_change_book(self):
        # adrian can change his book as its author
        self.assertTrue(self.client.login(username="adrian", password="secr3t"))
        response = self.client.get(reverse("admin:testapp_book_change", args=(1,)))
        self.assertEqual(response.status_code, 200)

        # martin can change adrian's book as an editor
        self.assertTrue(self.client.login(username="martin", password="secr3t"))
        response = self.client.get(reverse("admin:testapp_book_change", args=(1,)))
        self.assertEqual(response.status_code, 200)

    def test_delete_book(self):
        # martin can *not* delete adrian's book
        self.assertTrue(self.client.login(username="martin", password="secr3t"))
        response = self.client.get(reverse("admin:testapp_book_delete", args=(1,)))
        self.assertEqual(response.status_code, 403)

        # adrian can delete his book as its author
        self.assertTrue(self.client.login(username="adrian", password="secr3t"))
        response = self.client.get(reverse("admin:testapp_book_delete", args=(1,)))
        self.assertEqual(response.status_code, 200)