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 build() async => LicenseInfo( id: 1, type: 'annual', isActive: true, maxDevices: 3, phase: 'normal', expiresAt: DateTime(2027, 3, 15), ); } List _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), ); }