Update Saqel Platform: 2026-09-12 13:38:49

This commit is contained in:
Hamza-Ayed
2026-09-12 13:38:49 +03:00
parent 1f31369893
commit f4d4f02853
34 changed files with 9136 additions and 386 deletions
@@ -0,0 +1,83 @@
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:student_app/presentation/screens/vocational/vocational_training_screen.dart';
void main() {
testWidgets('VocationalTrainingScreen EV lab: renders chassis blueprint, isolated component canvas, and toggles MSD', (tester) async {
await tester.binding.setSurfaceSize(const Size(900, 3000));
addTearDown(() => tester.binding.setSurfaceSize(null));
await tester.pumpWidget(
const MaterialApp(
home: Scaffold(
body: VocationalTrainingScreen(),
),
),
);
await tester.pump();
// 1. Verify main header and directory tab
expect(find.textContaining('مؤسسة التدريب المهني'), findsOneWidget);
expect(find.textContaining('دليل الـ 140 مهنة'), findsOneWidget);
expect(find.textContaining('مختبر فحص المركبات الكهربائية'), findsOneWidget);
// 2. Switch to EV Diagnostic Lab tab
await tester.tap(find.textContaining('مختبر فحص المركبات الكهربائية'));
await tester.pump();
// Verify car blueprint and telemetry
expect(find.text('مخطط هيكل السيارة الكهربائية وتنظيم القطاعات'), findsOneWidget);
expect(find.text('الشحن (SoC)'), findsOneWidget);
expect(find.text('جهد الكابلات'), findsOneWidget);
expect(find.text('حلقة القفل HVIL'), findsOneWidget);
// Verify Multimeter display
expect(find.textContaining('جهاز الفحص الرقمي'), findsOneWidget);
expect(find.text('384.0'), findsOneWidget);
expect(find.text('V DC'), findsWidgets);
// Verify Component Anatomy Card with 3 tabs and canvas
expect(find.text('تشريح القطاع والرسم 🔬'), findsOneWidget);
expect(find.text('طريقة الربط والشبك 🔗'), findsOneWidget);
expect(find.text('الفحص وقراءة العداد 📟'), findsOneWidget);
expect(find.text('المجسات متصلة بالقطعة'), findsOneWidget);
// 3. Toggle probes placement
await tester.tap(find.text('المجسات متصلة بالقطعة'));
await tester.pump();
expect(find.text('المجسات مرفوعة'), findsOneWidget);
await tester.tap(find.text('المجسات مرفوعة'));
await tester.pump();
expect(find.text('المجسات متصلة بالقطعة'), findsOneWidget);
// 4. Test detail tabs
// Switch to 'طريقة الربط والشبك 🔗'
await tester.tap(find.text('طريقة الربط والشبك 🔗'));
await tester.pump();
expect(find.textContaining('مسار التوصيل والشبك'), findsOneWidget);
// Switch to 'الفحص وقراءة العداد 📟'
await tester.tap(find.text('الفحص وقراءة العداد 📟'));
await tester.pump();
expect(find.textContaining('طريقة الفحص بالملتيميتر'), findsOneWidget);
// 5. Test MSD Service Plug disconnect (Zero voltage verification)
expect(find.textContaining('نزع قابس الأمان يدويّاً'), findsOneWidget);
await tester.tap(find.textContaining('نزع قابس الأمان يدويّاً'));
await tester.pump();
// After pulling MSD, pack voltage drops to 0.00 V
expect(find.text('0.00'), findsWidgets);
expect(find.textContaining('خلو الجهد مؤكد'), findsOneWidget);
// 6. Select another component: Inverter & Motor
await tester.tap(find.textContaining('محول القدرة'));
await tester.pump();
// Verify multimeter and anatomy update for Inverter
expect(find.text('0.18'), findsOneWidget);
expect(find.text('Ω'), findsWidgets);
expect(find.text('مقاومة ملفات المحرك Ω'), findsOneWidget);
});
}