Skip to content

Commit

Permalink
Add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
tsutsu3 committed Feb 1, 2025
1 parent 9441d42 commit 199d0bb
Show file tree
Hide file tree
Showing 2 changed files with 87 additions and 0 deletions.
22 changes: 22 additions & 0 deletions test/widgets/helpers.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1000,5 +1000,27 @@ class TestSetupHelper {
when(mockApiGatewayV6.disableServerRequest(any)).thenAnswer((_) async {
return DisableServerResponse(result: APiResponseType.success);
});

when(mockApiGatewayV6.loginQuery()).thenAnswer(
(_) async => LoginQueryResponse(
result: APiResponseType.success,
status: 'enabled',
sid: 'sid123',
),
);

when(mockApiGatewayV6.realtimeStatus()).thenAnswer(
(_) async => RealtimeStatusResponse(
result: APiResponseType.success,
data: realtimeStatus,
),
);

when(mockApiGatewayV6.fetchOverTimeData()).thenAnswer(
(_) async => FetchOverTimeDataResponse(
result: APiResponseType.success,
data: overtimeData,
),
);
}
}
65 changes: 65 additions & 0 deletions test/widgets/home/home_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ import 'package:pi_hole_client/constants/enums.dart';
import 'package:pi_hole_client/models/server.dart';
import 'package:pi_hole_client/screens/home/disable_modal.dart';
import 'package:pi_hole_client/screens/home/home.dart';
import 'package:pi_hole_client/screens/home/home_appbar.dart';
import 'package:pi_hole_client/screens/home/switch_server_modal.dart';

import '../helpers.dart';

Expand Down Expand Up @@ -199,6 +201,69 @@ void main() async {
expect(find.text('Server enabled successfully.'), findsOneWidget);
},
);

testWidgets(
'should show switch server modal',
(WidgetTester tester) async {
tester.view.physicalSize = const Size(1080, 2400);
tester.view.devicePixelRatio = 2.0;

addTearDown(() {
tester.view.resetPhysicalSize();
tester.view.resetDevicePixelRatio();
});

await tester.pumpWidget(
testSetup.buildTestWidget(
const Home(),
),
);

expect(find.byType(Home), findsOneWidget);
expect(find.byType(HomeAppBar), findsOneWidget);
await tester.pump();

// show switch server modal
expect(find.text('test v6'), findsWidgets); // TODO: find One
await tester.tap(find.text('test v6').last);
await tester.pumpAndSettle();
expect(find.byType(SwitchServerModal), findsOneWidget);
await tester.pump();

// tap and swith server
await tester.tap(find.text('test v6').last);
},
);

testWidgets(
'should show popup menu',
(WidgetTester tester) async {
tester.view.physicalSize = const Size(1080, 2400);
tester.view.devicePixelRatio = 2.0;

addTearDown(() {
tester.view.resetPhysicalSize();
tester.view.resetDevicePixelRatio();
});

await tester.pumpWidget(
testSetup.buildTestWidget(
const Home(),
),
);

expect(find.byType(Home), findsOneWidget);
expect(find.byType(HomeAppBar), findsOneWidget);
expect(find.byType(PopupMenuButton), findsOneWidget);
await tester.pump();

await tester.tap(find.byType(PopupMenuButton));
await tester.pumpAndSettle();
expect(find.text('Refresh'), findsOneWidget);
expect(find.text('Open web panel'), findsOneWidget);
expect(find.text('Change server'), findsOneWidget);
},
);
},
);
}

0 comments on commit 199d0bb

Please sign in to comment.