feat: add RichTextEditor component for rich text editing in articles

feat: create SanitizeBlogBodiesCommand to clean existing blog bodies according to current HTML sanitization policies

test: add AppointmentTreatmentSessionLinkTest to ensure appointment booking functionality works correctly with treatment session links
This commit is contained in:
hamed
2026-08-08 11:40:17 +03:30
parent 934405c42d
commit 47323daa27
36 changed files with 3461 additions and 12686 deletions
+12
View File
@@ -54,6 +54,18 @@ abstract class ApiTestCase extends WebTestCase
}
$this->em = static::getContainer()->get(EntityManagerInterface::class);
// بستنِ manager تنها راهِ آلوده‌شدنِ تستِ بعدی نیست. تستی که موجودیتی را
// `persist()` می‌کند و بی‌`flush()` تمام می‌شود — یا درخواستِ کرنلی که
// ارجاع‌هایش را نیمه‌کاره رها می‌کند — همان unit of work را برای تستِ بعدی
// به ارث می‌گذارد. آنجا اولین `flush()` با «A new entity was found through
// the relationship …» می‌شکند؛ خطایی که همیشه جای دیگری می‌افتد و در اجرای
// تکی هرگز تکرار نمی‌شود.
//
// `clear()` نه `resetManager()`: همان نمونه می‌ماند، پس هیچ ارجاعی به
// managerِ مرده نمی‌رسد؛ فقط identity map خالی می‌شود.
$this->em->clear();
$this->ensureFreePlan();
}