mirror of
https://github.com/barkeser2002/offline-db.git
synced 2026-09-25 07:19:53 +03:00
Current Focus Mode: C (The Architect) Changes Made: - Added `robots.txt` template and URL route. - Added Open Graph meta tags to `anime_detail.html`. - Updated `base.html` to support meta blocks. - Added `test_seo.py` to verify SEO features. Impact on System: - Improved SEO visibility for search engines (robots.txt). - Better social media sharing (Open Graph tags). Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
30 lines
1.2 KiB
Python
30 lines
1.2 KiB
Python
from django.test import TestCase, Client
|
|
from django.urls import reverse
|
|
from content.models import Anime
|
|
|
|
class SeoTests(TestCase):
|
|
def setUp(self):
|
|
self.client = Client()
|
|
self.anime = Anime.objects.create(
|
|
title="Test Anime",
|
|
synopsis="This is a test anime synopsis.",
|
|
cover_image="http://example.com/cover.jpg",
|
|
type="TV"
|
|
)
|
|
|
|
def test_robots_txt(self):
|
|
url = '/robots.txt'
|
|
response = self.client.get(url)
|
|
self.assertEqual(response.status_code, 200)
|
|
self.assertEqual(response['Content-Type'], 'text/plain')
|
|
self.assertContains(response, "User-agent: *")
|
|
self.assertContains(response, "Sitemap: https://aniscrap.com/sitemap.xml")
|
|
|
|
def test_anime_detail_meta_tags(self):
|
|
url = reverse('anime_detail', args=[self.anime.id])
|
|
response = self.client.get(url)
|
|
self.assertEqual(response.status_code, 200)
|
|
self.assertContains(response, f'<meta property="og:title" content="{self.anime.title}"')
|
|
self.assertContains(response, f'<meta property="og:image" content="{self.anime.cover_image}"')
|
|
self.assertContains(response, '<meta property="og:type" content="video.tv_show"')
|