تخطَّ إلى المحتوى الرئيسي

توثيق الموديولز

حالات اختبار الجودة

حالات اختبار وظيفية، واجهة، تجاوب، RTL، SEO.

مكتمل

QC Showcase يتحقّق أن بوّابات التحقّق معروضة صح، أن ربط رسم الكيانات يعمل (نقر مؤسس → ملف مؤسس)، أن إصدار JSON-LD Organization كامل، وأن مرآة AR مكتوبة تحريرياً.

فحوصات وظيفية (لكل شركة)

  1. route التفاصيل يعيد 200 في EN و AR.
  2. لوحة الشعار تُعرض (شعار حقيقي أو fallback بالاسم). لا أيقونة صورة مكسورة.
  3. شارة Verified تظهر أعلى-يمين (LTR) / أعلى-يسار (RTL) حين isVerified=true.
  4. شارات القطاع + المرحلة + الدولة تُعرض بتسميات مترجَمة (lookups `startup.sector.<key>` تنجح).
  5. CTA Visit Website يفتح في tab جديد بـ rel="noopener external" حين يوجد websiteUrl.
  6. كرت snapshot يعرض القطاع / المرحلة / المقر / سنة التأسيس صح.

فحوصات Cross-module

  • كل founderId في founderIds[] يحلّ لـ Founder Profile حقيقي (لا كروت مؤسّسين مكسورة).
  • المؤسّسون المرتبطون يظهرون كأوّل الإشارات في كتلة Related Ecosystem Signals.
  • الفرص المقترحة آلياً تطابق قطاع + مرحلة + دولة الشركة (لا تطابقات خاطئة واضحة).
  • المقالات التحريرية الظاهرة في الكتلة تذكر الشركة فعلاً (تحقّق mentionedStartupIds[]).

فحوصات SEO / AEO

  • <title>، meta description، canonical، hreflang كلها مكتوبة.
  • JSON-LD @type هو `Organization`. مصفوفة founder: Person[] طولها يطابق founderIds[].
  • foundingDate يطابق حقل foundedYear. address.addressCountry هو رمز ISO-2 للدولة.
  • صورة OG تُعرض صح على LinkedIn / X (1200x630 مع overlay اسم العلامة حين لا يوجد شعار).

فحوصات AR / RTL

  • التبديل لـ /ar/ يعكس الـ Layout؛ chevrons والأسهم تنعكس عبر `.icon-flip`.
  • الـ tagline العربي + الوصف مكتوبان، لا ترجمات حرفية.
  • اسم العلامة يستخدم name_ar عند التأليف، fallback إلى name خلاف ذلك.