22e07613a1
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
63 lines
1.9 KiB
Dart
63 lines
1.9 KiB
Dart
import 'package:flutter/material.dart';
|
||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||
import 'package:flutter_test/flutter_test.dart';
|
||
import 'package:shared_preferences/shared_preferences.dart';
|
||
import 'package:jiu_client/core/auth/auth_state.dart';
|
||
import 'package:jiu_client/core/utils/clock.dart';
|
||
import 'package:jiu_client/providers/license_provider.dart';
|
||
import 'package:jiu_client/screens/license/license_screen.dart';
|
||
|
||
import '../support/golden_harness.dart';
|
||
|
||
/// 授权管理独立一级屏窄屏 golden × 三主题(390×844 @2x),对齐原型
|
||
/// m-license.html:通栏 DsSeg 三 tab + 默认「授权信息」tab 内容。
|
||
/// 更新基准:flutter test --update-goldens test/golden/license_mobile_golden_test.dart
|
||
|
||
class _FakeAuth extends AuthNotifier {
|
||
_FakeAuth() {
|
||
state = const AuthState(
|
||
user: AuthUser(
|
||
accessToken: 't',
|
||
refreshToken: 'r',
|
||
id: 1,
|
||
username: 'wang',
|
||
realName: '王经理',
|
||
shopNo: 'DSJH-001',
|
||
shopId: 1,
|
||
role: 'admin'),
|
||
);
|
||
}
|
||
}
|
||
|
||
class _FakeLicenseActive extends LicenseNotifier {
|
||
@override
|
||
Future<LicenseInfo?> build() async => LicenseInfo(
|
||
id: 1,
|
||
type: 'annual',
|
||
isActive: true,
|
||
maxDevices: 3,
|
||
phase: 'normal',
|
||
expiresAt: DateTime(2027, 3, 15),
|
||
);
|
||
}
|
||
|
||
List<Override> _overrides() => [
|
||
authStateProvider.overrideWith((ref) => _FakeAuth()),
|
||
licenseProvider.overrideWith(() => _FakeLicenseActive()),
|
||
isReadonlyProvider.overrideWithValue(false),
|
||
];
|
||
|
||
void main() {
|
||
TestWidgetsFlutterBinding.ensureInitialized();
|
||
SharedPreferences.setMockInitialValues({});
|
||
appClock = () => DateTime(2026, 7, 13, 9, 30, 15);
|
||
|
||
goldenAcrossThemes(
|
||
'license 授权信息 tab 整屏(移动)',
|
||
goldenPrefix: 'license_mobile',
|
||
child: () => const Scaffold(body: LicenseScreen()),
|
||
overrides: _overrides,
|
||
logical: const Size(390, 844),
|
||
);
|
||
}
|