|
1 | 1 | import 'package:flutter_local_db/src/service/local_db_result.dart'; |
2 | 2 | import 'package:flutter_test/flutter_test.dart'; |
3 | 3 | import 'package:flutter_local_db/flutter_local_db.dart'; |
4 | | -import 'package:flutter_local_db/src/bridge/local_db_bridge.dart'; |
5 | 4 |
|
6 | 5 | import 'package:path_provider_platform_interface/path_provider_platform_interface.dart'; |
7 | 6 |
|
@@ -684,70 +683,4 @@ void main() { |
684 | 683 | }); |
685 | 684 | }); |
686 | 685 |
|
687 | | - group('Hot Restart Tests', () { |
688 | | - test('Should persist data after simulated hot restart', () async { |
689 | | - // First, create some test data |
690 | | - final testData1 = {'name': 'John', 'age': 30}; |
691 | | - final testData2 = {'name': 'Jane', 'age': 25}; |
692 | | - |
693 | | - await LocalDB.Post('user-1', testData1); |
694 | | - await LocalDB.Post('user-2', testData2); |
695 | | - |
696 | | - // Verify data exists before "hot restart" |
697 | | - final beforeRestart = await LocalDB.GetAll(); |
698 | | - expect(beforeRestart.isOk, true); |
699 | | - expect(beforeRestart.data!.length, 2); |
700 | | - |
701 | | - // Simulate hot restart by forcing reinitialization |
702 | | - // This mimics what happens during actual hot restart |
703 | | - LocalDbBridge.instance.hotRestartDetected = true; |
704 | | - |
705 | | - // Try to access data after marking hot restart |
706 | | - final afterRestart = await LocalDB.GetAll(); |
707 | | - |
708 | | - // Debug information |
709 | | - print('After restart result: ${afterRestart.isOk}'); |
710 | | - if (afterRestart.isErr) { |
711 | | - print('Error after restart: ${afterRestart.errorOrNull}'); |
712 | | - } |
713 | | - |
714 | | - expect(afterRestart.isOk, true); |
715 | | - expect(afterRestart.data!.length, 2); |
716 | | - |
717 | | - // Verify specific data is still there |
718 | | - final user1 = await LocalDB.GetById('user-1'); |
719 | | - expect(user1.isOk, true); |
720 | | - expect(user1.data?.data['name'], 'John'); |
721 | | - expect(user1.data?.data['age'], 30); |
722 | | - |
723 | | - final user2 = await LocalDB.GetById('user-2'); |
724 | | - expect(user2.isOk, true); |
725 | | - expect(user2.data?.data['name'], 'Jane'); |
726 | | - expect(user2.data?.data['age'], 25); |
727 | | - }); |
728 | | - |
729 | | - test('Should handle multiple hot restarts gracefully', () async { |
730 | | - // Create initial data |
731 | | - await LocalDB.Post('persistent-key', {'counter': 1}); |
732 | | - |
733 | | - // Simulate multiple hot restarts |
734 | | - for (int i = 2; i <= 5; i++) { |
735 | | - LocalDbBridge.instance.hotRestartDetected = true; |
736 | | - |
737 | | - // Update the counter |
738 | | - await LocalDB.Put('persistent-key', {'counter': i}); |
739 | | - |
740 | | - // Verify data persists |
741 | | - final result = await LocalDB.GetById('persistent-key'); |
742 | | - expect(result.isOk, true); |
743 | | - expect(result.data?.data['counter'], i); |
744 | | - } |
745 | | - |
746 | | - // Final verification |
747 | | - final finalResult = await LocalDB.GetAll(); |
748 | | - expect(finalResult.isOk, true); |
749 | | - expect(finalResult.data!.length, 1); |
750 | | - expect(finalResult.data!.first.data['counter'], 5); |
751 | | - }); |
752 | | - }); |
753 | 686 | } |
0 commit comments