feat: admin panel enrichment
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
from datetime import date
|
||||
|
||||
from django.test import TestCase
|
||||
from django.urls import reverse
|
||||
|
||||
@@ -41,6 +43,80 @@ class HomeViewTest(TestCase):
|
||||
self.assertIn("the Way in Development", content)
|
||||
self.assertIn('data-project-filter="all"', content)
|
||||
|
||||
def test_home_renders_published_project_briefs(self):
|
||||
from django.contrib.auth.models import User
|
||||
|
||||
from apps.accounts.models import ClientProfile
|
||||
from apps.pages.models import HomepageSection
|
||||
from apps.projects.models import ProjectBrief
|
||||
|
||||
user = User.objects.create_user(username="client", email="c@example.com", password="x")
|
||||
ClientProfile.objects.create(user=user, timezone="UTC")
|
||||
HomepageSection.objects.create(
|
||||
section_type=HomepageSection.TYPE_PROJECTS,
|
||||
title="Showcase",
|
||||
order=1,
|
||||
is_active=True,
|
||||
)
|
||||
ProjectBrief.objects.create(
|
||||
client=user,
|
||||
title="Private title",
|
||||
category=ProjectBrief.CATEGORY_WEB,
|
||||
description="Full description for the project.",
|
||||
budget_range=ProjectBrief.BUDGET_5K_15K,
|
||||
show_on_website=True,
|
||||
public_title="Public showcase title",
|
||||
public_summary="A curated summary for the website.",
|
||||
public_project_status="new",
|
||||
public_tags="Django, Portal",
|
||||
show_category_on_website=False,
|
||||
)
|
||||
|
||||
response = self.client.get(reverse("pages:home"))
|
||||
self.assertContains(response, "Public showcase title")
|
||||
self.assertContains(response, "A curated summary for the website.")
|
||||
self.assertContains(response, "Django")
|
||||
self.assertNotContains(response, "Private title")
|
||||
|
||||
def test_home_respects_per_field_website_visibility(self):
|
||||
from django.contrib.auth.models import User
|
||||
|
||||
from apps.accounts.models import ClientProfile
|
||||
from apps.pages.models import HomepageSection
|
||||
from apps.projects.models import ProjectBrief
|
||||
|
||||
user = User.objects.create_user(username="c2", email="c2@example.com", password="x")
|
||||
ClientProfile.objects.create(user=user, timezone="UTC")
|
||||
HomepageSection.objects.create(
|
||||
section_type=HomepageSection.TYPE_PROJECTS,
|
||||
title="Showcase",
|
||||
order=1,
|
||||
is_active=True,
|
||||
)
|
||||
ProjectBrief.objects.create(
|
||||
client=user,
|
||||
title="Visible project",
|
||||
category=ProjectBrief.CATEGORY_DATA,
|
||||
description="Secret internal description.",
|
||||
budget_range=ProjectBrief.BUDGET_15K_50K,
|
||||
desired_deadline=date(2026, 12, 1),
|
||||
reference_links="https://example.com/spec",
|
||||
show_on_website=True,
|
||||
public_summary="Public summary.",
|
||||
show_budget_on_website=True,
|
||||
show_deadline_on_website=True,
|
||||
show_references_on_website=True,
|
||||
show_description_on_website=False,
|
||||
show_category_on_website=False,
|
||||
)
|
||||
|
||||
response = self.client.get(reverse("pages:home"))
|
||||
content = response.content.decode()
|
||||
self.assertIn("$15,000", content)
|
||||
self.assertIn("Dec 1, 2026", content)
|
||||
self.assertIn("https://example.com/spec", content)
|
||||
self.assertNotIn("Secret internal description.", content)
|
||||
|
||||
|
||||
class AboutViewTest(TestCase):
|
||||
def test_about_returns_200(self):
|
||||
|
||||
Reference in New Issue
Block a user