Update Saqel Platform: 2026-09-12 13:38:49
This commit is contained in:
@@ -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);
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user