HTTP-клиент к /api/v1 с Sanctum-токеном (хранится в secure storage), модели зеркалят Laravel API Resources. Экраны: логин, список устройств с живым статусом, детальная страница устройства (история телеметрии, turn-on/turn-off/set-level с проверкой capability), списки зон и правил автоматизации (пока только чтение — формы создания/редактирования впереди).
25 lines
898 B
Dart
25 lines
898 B
Dart
import 'package:flutter/material.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
|
|
import 'package:home_automation_mobile/screens/login_screen.dart';
|
|
|
|
void main() {
|
|
testWidgets('Login screen shows email/password fields and a submit button', (WidgetTester tester) async {
|
|
await tester.pumpWidget(const MaterialApp(home: LoginScreen()));
|
|
|
|
expect(find.text('Email'), findsOneWidget);
|
|
expect(find.text('Пароль'), findsOneWidget);
|
|
expect(find.text('Войти'), findsOneWidget);
|
|
});
|
|
|
|
testWidgets('Login screen validates empty fields before submitting', (WidgetTester tester) async {
|
|
await tester.pumpWidget(const MaterialApp(home: LoginScreen()));
|
|
|
|
await tester.tap(find.text('Войти'));
|
|
await tester.pump();
|
|
|
|
expect(find.text('Введите email'), findsOneWidget);
|
|
expect(find.text('Введите пароль'), findsOneWidget);
|
|
});
|
|
}
|