forked from baron/baron-sso
36 lines
1.3 KiB
Dart
36 lines
1.3 KiB
Dart
import 'dart:io';
|
|
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
|
|
void main() {
|
|
test('대시보드 화면은 auth timeline fetch 구현을 직접 가지지 않는다', () async {
|
|
final screenFile = File(
|
|
'lib/features/dashboard/presentation/dashboard_screen.dart',
|
|
);
|
|
final source = await screenFile.readAsString();
|
|
|
|
expect(source.contains('_fetchAuditLogs('), isFalse);
|
|
expect(source.contains('_loadAuditLogs('), isFalse);
|
|
expect(source.contains('/api/v1/audit/auth/timeline'), isFalse);
|
|
});
|
|
|
|
test('나의 App 현황 연동해지 버튼은 단일 라인 텍스트로 렌더링한다', () async {
|
|
final screenFile = File(
|
|
'lib/features/dashboard/presentation/dashboard_screen.dart',
|
|
);
|
|
final source = await screenFile.readAsString();
|
|
final revokeLabelIndex = source.lastIndexOf(
|
|
"tr('ui.userfront.dashboard.revoke.title')",
|
|
);
|
|
|
|
expect(revokeLabelIndex, isNonNegative);
|
|
final snippetStart = revokeLabelIndex > 500 ? revokeLabelIndex - 500 : 0;
|
|
final snippetEnd = revokeLabelIndex + 300 < source.length
|
|
? revokeLabelIndex + 300
|
|
: source.length;
|
|
final revokeButtonSource = source.substring(snippetStart, snippetEnd);
|
|
|
|
expect(revokeButtonSource, contains('_singleLineText('));
|
|
});
|
|
}
|