更新测试案例

This commit is contained in:
Happi (哈比)
2026-03-09 13:03:44 +08:00
parent 56112e1fe3
commit 7b78da86e7
11 changed files with 721 additions and 278 deletions

View File

@@ -1,8 +1,8 @@
import 'dart:convert';
import 'package:flutter/services.dart';
import 'package:im_app/data/models/user_dto.dart';
import 'package:im_app/data/remote/login_request.dart';
import 'package:im_app/domain/presentation/di/user_provider.dart';
import 'package:networks_sdk/networks_sdk.dart';
import 'package:im_app/app/di/db_provider.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
@@ -61,22 +61,25 @@ class LoginViewModel extends _$LoginViewModel {
Future<void> demoLogin() async {
final storageApi = ref.read(storageSdkProvider);
final storageLifeCycle = storageApi as StorageSdkLifecycle;
final repositoryProvider = ref.read(userRepositoryProvider);
final provider = ref.read(authNotifierProvider);
// Read mock response from assets
final String raw = await rootBundle.loadString('assets/loginData.json');
final Map<String, dynamic> json = jsonDecode(raw);
// Parse into LoginData (nested under 'data' key)
// Parse → Domain User directly
final loginResponse = LoginResponse.fromJson(json);
final user = loginResponse.data.toEntity();
provider.login();
// Open database for the user
await storageLifeCycle.openDatabase(user.uid);
///TODO: User 和 DTO和数据库之间转换
final userCompanion = UserDto.fromEntity(user).toCompanion();
storageApi.insert(userCompanion);
// Save user to DB via repository
await repositoryProvider.saveUser(user);
// Trigger auth state
provider.login();
}
/// 执行登录
@@ -88,10 +91,9 @@ class LoginViewModel extends _$LoginViewModel {
state = state.copyWith(isLoading: true, error: null);
try {
final user = await ref.read(loginUseCaseProvider).execute(
email: email,
password: password,
);
final user = await ref
.read(loginUseCaseProvider)
.execute(email: email, password: password);
state = state.copyWith(user: user, isLoading: false);
} on FormatException catch (e) {