전역 구조 리팩터링 및 테스트 확장

This commit is contained in:
JiWoong Sul
2025-09-29 01:51:47 +09:00
parent c00c0c9ab2
commit fef7108479
70 changed files with 7709 additions and 3185 deletions

View File

@@ -55,7 +55,6 @@ void main() {
group('플래그 On', () {
late _MockUserRepository userRepository;
late _MockGroupRepository groupRepository;
setUp(() {
dotenv.testLoad(fileInput: 'FEATURE_USERS_ENABLED=true\n');
userRepository = _MockUserRepository();
@@ -153,6 +152,14 @@ void main() {
});
testWidgets('신규 등록 성공', (tester) async {
final view = tester.view;
view.physicalSize = const Size(1280, 800);
view.devicePixelRatio = 1.0;
addTearDown(() {
view.resetPhysicalSize();
view.resetDevicePixelRatio();
});
var listCallCount = 0;
when(
() => userRepository.list(
@@ -214,9 +221,21 @@ void main() {
await tester.enterText(editableTexts.at(0), 'A010');
await tester.enterText(editableTexts.at(1), '신규 사용자');
await tester.tap(find.text('그룹을 선택하세요'));
await tester.pumpAndSettle();
await tester.tap(find.text('관리자'));
final selectFinder = find.descendant(
of: dialog,
matching: find.byType(ShadSelect<int?>),
);
final selectElement = tester.element(selectFinder);
final renderBox = selectElement.renderObject as RenderBox;
final globalCenter = renderBox.localToGlobal(
renderBox.size.center(Offset.zero),
);
await tester.tapAt(globalCenter);
await tester.pump();
await tester.pump(const Duration(milliseconds: 200));
final adminOption = find.text('관리자', skipOffstage: false);
expect(adminOption, findsWidgets);
await tester.tap(adminOption.first, warnIfMissed: false);
await tester.pumpAndSettle();
await tester.tap(find.text('등록'));