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)
|