Feedback: the blank 'web address' field was unusable — nobody knows what to put, so the market never worked at first launch. - SocialSettings ships default public relays (nos.lol, relay.damus.io), applied automatically for new users so the market works day one. An explicitly empty choice still turns the network off (privacy). Exposure is minimal: offers are opt-in and carry only a coarse geohash. - Sharing setup now shows the servers as a short PICK-LIST (checkboxes, pre- selected) instead of a blank field; a community's own server goes under a small 'add another' escape hatch. Intro reworded — no need to know a community. - Tests updated (defaults) and pinned offline (setRelayUrls([])) so widget tests don't hit the network. 22 green, analyzer clean.
41 lines
1.4 KiB
Dart
41 lines
1.4 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:flutter_localizations/flutter_localizations.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:tane/i18n/strings.g.dart';
|
|
import 'package:tane/services/social_service.dart';
|
|
import 'package:tane/services/social_settings.dart';
|
|
import 'package:tane/ui/chat_screen.dart';
|
|
|
|
import '../support/test_support.dart';
|
|
|
|
void main() {
|
|
testWidgets('with no relay configured, chat shows the offline note',
|
|
(tester) async {
|
|
final social = await SocialService.fromRootSeedHex('00' * 32);
|
|
final settings = SocialSettings(InMemorySecretStore());
|
|
await settings.setRelayUrls(const []); // offline: don't hit the network
|
|
LocaleSettings.setLocaleSync(AppLocale.en);
|
|
|
|
await tester.pumpWidget(
|
|
TranslationProvider(
|
|
child: MaterialApp(
|
|
locale: AppLocale.en.flutterLocale,
|
|
supportedLocales: AppLocaleUtils.supportedLocales,
|
|
localizationsDelegates: const [
|
|
GlobalMaterialLocalizations.delegate,
|
|
GlobalWidgetsLocalizations.delegate,
|
|
GlobalCupertinoLocalizations.delegate,
|
|
],
|
|
home: ChatScreen(
|
|
social: social,
|
|
settings: settings,
|
|
peerPubkey: 'ab' * 32,
|
|
),
|
|
),
|
|
),
|
|
);
|
|
await tester.pumpAndSettle();
|
|
|
|
expect(find.text('Set up sharing to send messages'), findsOneWidget);
|
|
});
|
|
}
|