feat: Random.org dice and daily word matrix, interpreter voices, curated lexicon
Wire cleromancy rolls and the once-per-UTC-day 000-999 word shuffle to RANDOM.ORG JSON-RPC, with a local CSPRNG fallback. Add settings for interpreter personas and a cleaner default oracle prompt. Replace proper names and bureaucratic filler in the 1000-word lexicon with sacred symbols.
This commit is contained in:
+13
-2
@@ -1,19 +1,30 @@
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
import 'package:words999/main.dart';
|
||||
import 'package:words999/services/settings_repository.dart';
|
||||
import 'package:words999/services/words_repository.dart';
|
||||
|
||||
void main() {
|
||||
testWidgets('App smoke test - launch oracle and verify navigation', (WidgetTester tester) async {
|
||||
SharedPreferences.setMockInitialValues({});
|
||||
await WordsRepository().init();
|
||||
await WordsRepository().init(remoteDailyShuffle: false);
|
||||
await SettingsRepository().init();
|
||||
await SettingsRepository().setRandomOrgApiKey('');
|
||||
await tester.pumpWidget(const Words999App());
|
||||
await tester.pump();
|
||||
await tester.pump(const Duration(milliseconds: 300));
|
||||
|
||||
// Verify app title and 2 destinations
|
||||
expect(find.text('Оракул 999'), findsOneWidget);
|
||||
expect(find.text('Оракул'), findsOneWidget);
|
||||
expect(find.text('История'), findsOneWidget);
|
||||
expect(find.text('Настройки'), findsOneWidget);
|
||||
|
||||
await tester.tap(find.text('Настройки'));
|
||||
await tester.pumpAndSettle();
|
||||
expect(find.text('Голос толкователя'), findsOneWidget);
|
||||
expect(find.text('Ясный оракул'), findsOneWidget);
|
||||
expect(find.text('Древний орк-оракул'), findsOneWidget);
|
||||
expect(find.text('Техножрец'), findsOneWidget);
|
||||
expect(find.text('Психоаналитик'), findsOneWidget);
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user