78 lines
2.9 KiB
Python
78 lines
2.9 KiB
Python
from django.contrib.auth.models import User
|
|
from django.test import TestCase
|
|
from django.urls import reverse
|
|
|
|
from apps.products.models import Article, ArticleSection, MainProduct, SubProduct
|
|
|
|
|
|
class AdminAccessTest(TestCase):
|
|
def setUp(self):
|
|
self.superuser = User.objects.create_superuser(
|
|
username="admin",
|
|
email="admin@example.com",
|
|
password="securepassword123",
|
|
)
|
|
self.client.login(username="admin", password="securepassword123")
|
|
self.main_product = MainProduct.objects.create(
|
|
name="Test Product",
|
|
short_description="Short",
|
|
description="Description",
|
|
)
|
|
self.sub_product = SubProduct.objects.create(
|
|
main_product=self.main_product,
|
|
name="Sub Product",
|
|
short_description="Short sub",
|
|
description="Sub description",
|
|
)
|
|
self.article = Article.objects.create(
|
|
sub_product=self.sub_product,
|
|
title="Test Article",
|
|
description="Article body",
|
|
)
|
|
self.section = ArticleSection.objects.create(
|
|
article=self.article,
|
|
title="Link",
|
|
value="https://example.com",
|
|
)
|
|
|
|
def test_main_product_changelist_accessible(self):
|
|
url = reverse("admin:products_mainproduct_changelist")
|
|
response = self.client.get(url)
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
def test_sub_product_changelist_accessible(self):
|
|
url = reverse("admin:products_subproduct_changelist")
|
|
response = self.client.get(url)
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
def test_article_changelist_accessible(self):
|
|
url = reverse("admin:products_article_changelist")
|
|
response = self.client.get(url)
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
def test_article_section_changelist_accessible(self):
|
|
url = reverse("admin:products_articlesection_changelist")
|
|
response = self.client.get(url)
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
def test_main_product_change_accessible(self):
|
|
url = reverse("admin:products_mainproduct_change", args=[self.main_product.pk])
|
|
response = self.client.get(url)
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
def test_sub_product_change_accessible(self):
|
|
url = reverse("admin:products_subproduct_change", args=[self.sub_product.pk])
|
|
response = self.client.get(url)
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
def test_article_change_accessible(self):
|
|
url = reverse("admin:products_article_change", args=[self.article.pk])
|
|
response = self.client.get(url)
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
def test_admin_requires_authentication(self):
|
|
self.client.logout()
|
|
url = reverse("admin:products_mainproduct_changelist")
|
|
response = self.client.get(url)
|
|
self.assertNotEqual(response.status_code, 200)
|