提交 Nontonki 短剧原型,准备推送到远程仓库。
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
commit
b1f6ce4bf9
148 files changed
+11175
No files matched your search
@@ -0,0 +1,46 @@
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:nontonki/core/data/services/engagement_controller.dart';
|
||||
import 'package:nontonki/core/data/repositories/engagement_repository.dart';
|
||||
import 'package:shared_preferences_platform_interface/in_memory_shared_preferences_async.dart';
|
||||
import 'package:shared_preferences_platform_interface/shared_preferences_async_platform_interface.dart';
|
||||
|
||||
void main() {
|
||||
test('saved, liked and comments are kept by drama id', () async {
|
||||
final repository = InMemoryEngagementRepository();
|
||||
final first = EngagementController(repository);
|
||||
await first.load();
|
||||
await first.toggleSaved('signal');
|
||||
await first.toggleLiked('signal');
|
||||
await first.addComment('signal', ' Great clip ');
|
||||
|
||||
expect(first.isSaved('signal'), isTrue);
|
||||
expect(first.isSaved('city'), isFalse);
|
||||
expect(first.isLiked('city'), isFalse);
|
||||
expect(first.commentsFor('signal'), ['Great clip']);
|
||||
expect(first.commentsFor('city'), isEmpty);
|
||||
|
||||
final reopened = EngagementController(repository);
|
||||
await reopened.load();
|
||||
expect(reopened.isSaved('signal'), isTrue);
|
||||
expect(reopened.isLiked('signal'), isTrue);
|
||||
expect(reopened.commentsFor('signal'), ['Great clip']);
|
||||
await reopened.toggleSaved('signal');
|
||||
expect(reopened.isSaved('signal'), isFalse);
|
||||
});
|
||||
|
||||
test('local engagement survives a new repository instance', () async {
|
||||
SharedPreferencesAsyncPlatform.instance =
|
||||
InMemorySharedPreferencesAsync.empty();
|
||||
final first = EngagementController(SharedPreferencesEngagementRepository());
|
||||
await first.load();
|
||||
await first.toggleSaved('city');
|
||||
await first.addComment('city', 'Local note');
|
||||
|
||||
final reopened = EngagementController(
|
||||
SharedPreferencesEngagementRepository(),
|
||||
);
|
||||
await reopened.load();
|
||||
expect(reopened.isSaved('city'), isTrue);
|
||||
expect(reopened.commentsFor('city'), ['Local note']);
|
||||
});
|
||||
}
|
||||
Reference in new issue
Block a user