Initial commit: QR Scanner Flutter app

App móvil para validar pases QR contra base-admin-web con login Cognito,
escáner en tiempo real, feedback auditivo/háptico y README completo.
This commit is contained in:
Alejandro Lara
2026-06-09 17:03:06 -06:00
commit 50fe9a9d36
83 changed files with 4613 additions and 0 deletions
+28
View File
@@ -0,0 +1,28 @@
import 'package:flutter_test/flutter_test.dart';
import 'package:qrscanner/models/auth_session.dart';
import 'package:qrscanner/models/login_response.dart';
void main() {
test('LoginResponse parsea la respuesta Cognito y usa accessToken', () {
const json = {
'success': true,
'accessToken': 'access-token-value',
'refreshToken': 'refresh-token-value',
'idToken': 'id-token-value',
'tokenType': 'Bearer',
'expiresIn': 3600,
'username': 'scanner',
'roles': ['ROLE_SCANNER'],
};
final response = LoginResponse.fromJson(json);
final session = AuthSession.fromLoginResponse(response);
expect(response.success, isTrue);
expect(response.accessToken, 'access-token-value');
expect(response.refreshToken, 'refresh-token-value');
expect(response.idToken, 'id-token-value');
expect(session.authorizationHeader, 'Bearer access-token-value');
expect(session.isScanner, isTrue);
});
}
+13
View File
@@ -0,0 +1,13 @@
import 'package:flutter_test/flutter_test.dart';
import 'package:qrscanner/main.dart';
void main() {
testWidgets('Login screen renders correctly', (WidgetTester tester) async {
await tester.pumpWidget(const MyApp());
expect(find.text('QR Scanner'), findsOneWidget);
expect(find.text('Iniciar sesión'), findsOneWidget);
expect(find.text('Usuario'), findsOneWidget);
});
}