Основные изменения: - Добавлены E2E тесты для проверки ownership (TC-E2E-102/103): * test_admin_can_edit_any_post — admin может редактировать любой пост * test_user_cannot_edit_other_users_post — user не может редактировать чужой пост - Исправлены use cases (UpdatePost, DeletePost, PublishPost) — добавлена проверка роли admin - Обновлены web routes и API routes для передачи роли в use cases - Добавлены unit тесты для admin-сценариев Реструктуризация тестов: - Удалены старые API тесты (tests/api/) — требуют переработки - Удалены старые integration тесты (tests/integration/) - Переработаны E2E тесты: удалены старые, добавлены новые с POM - Добавлена документация тестов: FEATURE_*.md, TEST_MODEL.md, AGENTS.md Инфраструктура: - Добавлен MockKeycloakClient для dev-режима - Добавлены статические файлы: EasyMDE, Highlight.js, стили markdown - Обновлены шаблоны: base.html, post_form.html, post_detail.html - Обновлена DI конфигурация и провайдеры Документация: - tests/FEATURE_RBAC.md — матрица тестов RBAC - tests/FEATURE_POST_LIFECYCLE.md — тесты жизненного цикла поста - tests/FEATURE_DOMAIN_FOUNDATION.md — тесты доменного слоя - tests/FEATURE_INFRASTRUCTURE.md — тесты инфраструктуры - tests/TEST_MODEL.md — глобальная матрица покрытия - app/presentation/web/AGENTS.md — гайд по Web UI - tests/AGENTS.md — гайд по тестированию
38 lines
1.3 KiB
HTML
38 lines
1.3 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% block title %}About - Blog{% endblock %}
|
|
{% block meta_description %}A modern blog built with FastAPI and DDD architecture.{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="page-header" data-testid="page-header-about">
|
|
<h1 class="page-title" data-testid="page-title-about">About</h1>
|
|
</div>
|
|
|
|
<div class="card" data-testid="about-card">
|
|
<div class="card-body" data-testid="about-card-body">
|
|
<p data-testid="about-description">
|
|
A modern blog built with FastAPI and Domain-Driven Design architecture.
|
|
</p>
|
|
|
|
<div class="divider" data-testid="about-divider"></div>
|
|
|
|
<p data-testid="about-user">
|
|
{% if user %}
|
|
Signed in as <strong>{{ user.username }}</strong>.
|
|
{% else %}
|
|
You are browsing as a guest.
|
|
{% endif %}
|
|
</p>
|
|
</div>
|
|
|
|
<div class="card-footer" data-testid="about-card-footer">
|
|
<a href="/web/" class="btn" data-testid="btn-back-home">
|
|
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" style="margin-right: 0.5rem;">
|
|
<path d="M10 12L6 8L10 4" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
</svg>
|
|
Back to Home
|
|
</a>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|