Files
buzz/mobile/test/widget_test.dart
2026-07-23 12:21:10 -07:00

43 lines
1.2 KiB
Dart

import 'package:flutter_test/flutter_test.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:buzz/app.dart';
import 'package:buzz/shared/auth/auth.dart';
import 'package:buzz/shared/client/client_headers.dart';
import 'package:buzz/shared/theme/theme_provider.dart';
const _clientHeaders = ClientHeaders(
appVersion: '1.0',
buzzClient: 'test-client',
userAgent: 'Buzz/1.0 (ios; build 1)',
);
void main() {
testWidgets('App renders pairing page when unauthenticated', (
WidgetTester tester,
) async {
SharedPreferences.setMockInitialValues({});
final prefs = await SharedPreferences.getInstance();
await tester.pumpWidget(
ProviderScope(
overrides: [
authProvider.overrideWith(() => _FakeAuthNotifier()),
clientHeadersProvider.overrideWithValue(_clientHeaders),
savedPrefsProvider.overrideWithValue(prefs),
],
child: const App(),
),
);
await tester.pump();
expect(find.text('Welcome to Buzz'), findsOneWidget);
});
}
class _FakeAuthNotifier extends AuthNotifier {
@override
Future<AuthState> build() async {
return const AuthState(status: AuthStatus.unauthenticated);
}
}