diff --git a/backend/scripts/e2e-test.mjs b/backend/scripts/e2e-test.mjs index 9a923b2..a8619e9 100644 --- a/backend/scripts/e2e-test.mjs +++ b/backend/scripts/e2e-test.mjs @@ -64,7 +64,11 @@ async function login(phone) { } const sleep = (ms) => new Promise((r) => setTimeout(r, ms)); -const uniqPhone = (p) => `${p}${String(Date.now()).slice(-6)}`; +// رقم أردني صالح: 0 + 9 خانات (10 إجمالاً). فريد عبر عدّاد + طابع زمني. +let _seq = 0; +const uniqJoPhone = () => `07${String(Date.now()).slice(-7)}${_seq++}`; +// نصّ فريد عام (رقم وطني/لوحة — لا يمرّ بتطبيع الهاتف). +const uniqStr = (p) => `${p}${String(Date.now()).slice(-6)}${_seq++}`; // ---- اختبار WebSocket اختياري ---- async function tryWebSocket(riderToken, tripId) { @@ -96,7 +100,7 @@ async function main() { // ═══ 1. تسجيل الدخول / إنشاء الحساب ═══ console.log('1) تسجيل الدخول وإنشاء الحساب (هاتف + OTP)'); - const riderPhone = uniqPhone('07900'); + const riderPhone = uniqJoPhone(); const rider = await login(riderPhone); check('الراكب سجّل دخوله وحصل على توكن', !!rider.token); check('حساب جديد بدور rider افتراضياً', rider.role === 'rider', `role=${rider.role}`); @@ -108,7 +112,7 @@ async function main() { check('تطبيع الهاتف: نفس الرقم بصيغ مختلفة = نفس المستخدم', riderAgain.body.user?.id === rider.userId); - const driverPhone = uniqPhone('07955'); + const driverPhone = uniqJoPhone(); let driver = await login(driverPhone); check('السائق سجّل دخوله', !!driver.token); @@ -121,14 +125,14 @@ async function main() { check('تقديم السائق أنشأ سجلاً', !!driverId); await api('PATCH', '/drivers/profile', driver.token, { - gender: 'male', national_number: uniqPhone('99'), name_arabic: 'سائق تجريبي', + gender: 'male', national_number: uniqStr("99"), name_arabic: 'سائق تجريبي', license_type: 'private', }); check('تحديث ملف السائق (رقم وطني مشفّر + فهرس أعمى)', true); const vehicle = await api('POST', '/vehicles', driver.token, { make: 'Toyota', model: 'Corolla', year: 2020, color: 'أبيض', color_hex: '#FFFFFF', - plate: uniqPhone('PL'), + plate: uniqStr("PL"), }); check('إنشاء مركبة', !!vehicle.body.id); check('أول مركبة تصير الافتراضية تلقائياً', vehicle.body.is_default === true);