전역 구조 리팩터링 및 테스트 확장
This commit is contained in:
@@ -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('등록'));
|
||||
|
||||
Reference in New Issue
Block a user