- Создана структура docs/ с категориями: completed, guides, architecture, diagnostic, in-progress, reports - Перемещено 47+ MD файлов из корня проекта в docs/ - Удалено 6 устаревших/дублирующихся файлов - Создана структура backend/scripts/ для тестов и утилит - Перемещено 35 Python скриптов в backend/scripts/ - Создана структура backend/docs/ для технической документации - Перемещено 12 MD файлов backend в backend/docs/ - Перемещены LDAP тестовые данные в backend/tests/fixtures/ - Добавлены README файлы для навигации - Добавлены правила в .github/copilot-instructions.md для размещения документации Результат: - Корень проекта: только README.md - Корень backend/: только manage.py и Django приложения - Вся документация организована в структурированные папки
47 lines
1.3 KiB
Python
47 lines
1.3 KiB
Python
import os
|
|
import sys
|
|
import django
|
|
|
|
sys.path.insert(0, os.path.dirname(__file__))
|
|
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'eusrr_backend.settings')
|
|
django.setup()
|
|
|
|
from django.contrib.auth import get_user_model
|
|
from rest_framework.test import APIClient
|
|
|
|
User = get_user_model()
|
|
admin = User.objects.filter(is_superuser=True).first()
|
|
|
|
client = APIClient()
|
|
client.force_authenticate(user=admin)
|
|
|
|
print('=' * 70)
|
|
print('PAGINATION CHECK')
|
|
print('=' * 70)
|
|
|
|
endpoints = [
|
|
('Departments', '/api/v1/departments/'),
|
|
('Employees', '/api/v1/employees/'),
|
|
('Documents', '/api/v1/documents/'),
|
|
('Requests', '/api/v1/requests/'),
|
|
]
|
|
|
|
for name, url in endpoints:
|
|
print(f'\n{name} ({url})')
|
|
print('-' * 70)
|
|
resp = client.get(url)
|
|
if resp.status_code == 200:
|
|
data = resp.json()
|
|
if isinstance(data, dict) and 'results' in data:
|
|
print(f'OK Paginated')
|
|
print(f'Total: {data.get("count", "?")}')
|
|
print(f'Page size: {len(data.get("results", []))}')
|
|
print(f'Next: {"Yes" if data.get("next") else "No"}')
|
|
elif isinstance(data, list):
|
|
print(f'ERROR Not paginated (list)')
|
|
print(f'Items: {len(data)}')
|
|
else:
|
|
print(f'ERROR HTTP {resp.status_code}')
|
|
|
|
print('\n' + '=' * 70)
|