결재 권한 테스트 및 인벤토리 위젯 안정화

This commit is contained in:
JiWoong Sul
2025-09-29 01:49:51 +09:00
parent 900990c46b
commit c00c0c9ab2
12 changed files with 5337 additions and 1765 deletions

View File

@@ -0,0 +1,68 @@
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:go_router/go_router.dart';
import 'package:shadcn_ui/shadcn_ui.dart';
import 'package:superport_v2/core/config/environment.dart';
import 'package:superport_v2/core/permissions/permission_manager.dart';
import 'package:superport_v2/core/theme/superport_shad_theme.dart';
import 'package:superport_v2/features/inventory/inbound/presentation/pages/inbound_page.dart';
void main() {
TestWidgetsFlutterBinding.ensureInitialized();
setUpAll(() async {
await Environment.initialize();
});
testWidgets('입고 필터 적용 및 초기화가 목록을 갱신한다', (tester) async {
final view = tester.view;
view.physicalSize = const Size(1280, 800);
view.devicePixelRatio = 1.0;
addTearDown(() {
view.resetPhysicalSize();
view.resetDevicePixelRatio();
});
final router = GoRouter(
initialLocation: '/inventory/inbound',
routes: [
GoRoute(
path: '/inventory/inbound',
builder: (context, state) => Scaffold(
body: InboundPage(routeUri: state.uri),
),
),
],
);
await tester.pumpWidget(
PermissionScope(
manager: PermissionManager(),
child: ShadApp.router(
routerConfig: router,
debugShowCheckedModeBanner: false,
theme: SuperportShadTheme.light(),
darkTheme: SuperportShadTheme.dark(),
),
),
);
await tester.pumpAndSettle();
expect(find.text('TX-20240301-001'), findsWidgets);
await tester.enterText(find.byType(EditableText).first, 'TX-20240305-010');
await tester.pump();
await tester.tap(find.widgetWithText(ShadButton, '검색 적용'));
await tester.pumpAndSettle();
expect(find.text('TX-20240305-010'), findsWidgets);
expect(find.text('TX-20240301-001'), findsNothing);
await tester.tap(find.widgetWithText(ShadButton, '초기화'));
await tester.pumpAndSettle();
expect(find.text('TX-20240301-001'), findsWidgets);
});
}