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:
@@ -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);
|
||||
});
|
||||
}
|
||||
@@ -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);
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user