import 'package:flutter_test/flutter_test.dart'; import 'package:words999/models/history_entry_model.dart'; import 'package:words999/services/words_repository.dart'; import 'package:words999/services/traditions_repository.dart'; import 'package:words999/services/lenormand_pairs_repository.dart'; import 'package:words999/services/oracle_master_prompt_generator.dart'; void main() { setUpAll(() async { TestWidgetsFlutterBinding.ensureInitialized(); await WordsRepository().init(); await TraditionsRepository().init(); await LenormandPairsRepository().init(); }); test('Generates complete high-caliber Master Prompt for OracleSession', () { final repo = WordsRepository(); final w1 = repo.allWords[0]; final w2 = repo.allWords[1]; final w3 = repo.allWords[2]; final session = OracleSession( id: 'test_session_1', timestamp: DateTime.now(), question: 'Какой следующий шаг в работе?', wordsCount: 3, words: [ SessionWord.fromWordItem(w1, positionTitle: 'Исток'), SessionWord.fromWordItem(w2, positionTitle: 'Кризис'), SessionWord.fromWordItem(w3, positionTitle: 'Исход'), ], ); final prompt = OracleMasterPromptGenerator.generateForSession(session); expect(prompt.isNotEmpty, true); expect(prompt.contains('СВЯЩЕННЫЙ РАСКЛАД КЛЕРОМАНТИИ'), true); expect(prompt.contains('Какой следующий шаг в работе?'), true); expect(prompt.contains(w1.word.toUpperCase()), true); expect(prompt.contains(w2.word.toUpperCase()), true); expect(prompt.contains(w3.word.toUpperCase()), true); expect(prompt.contains('Энергетический баланс цепи'), true); expect(prompt.contains('ТРЕБОВАНИЯ К ТВОЕМУ ОТВЕТУ'), true); }); }