test: his_request_test mobile

This commit is contained in:
DenserMeerkat
2024-08-21 22:09:30 +05:30
parent eb02c435e3
commit 063b9258c2
6 changed files with 91 additions and 13 deletions

View File

@ -1,20 +1,19 @@
import 'dart:ui';
import 'package:apidash/screens/history/history_pane.dart';
import 'package:apidash/screens/history/history_requests.dart';
import 'package:apidash/widgets/widgets.dart';
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:spot/spot.dart';
import 'package:apidash/app.dart';
import 'package:apidash/consts.dart';
import 'package:apidash/widgets/widgets.dart';
import 'package:apidash/screens/history/history_pane.dart';
import '../../test/extensions/widget_tester_extensions.dart';
import '../test_helper.dart';
void main() async {
await ApidashTestHelper.initialize(
size: Size(kExpandedWindowWidth, kMinWindowSize.height));
apidashWidgetTest("Testing Environment Manager in desktop end-to-end",
apidashWidgetTest("Testing History of Requests in desktop end-to-end",
(WidgetTester tester, helper) async {
await tester.pumpUntilFound(find.byType(DashApp));
await Future.delayed(const Duration(seconds: 1));
@ -22,7 +21,7 @@ void main() async {
/// Create New Request
await helper.reqHelper.addRequest(
"https://api.apidash.dev/humanize/social",
name: "Social",
name: "test-his-name",
params: [("num", "870000")],
);
await Future.delayed(const Duration(milliseconds: 200));
@ -33,8 +32,7 @@ void main() async {
var sidebarCards = spot<HistoryPane>().spot<SidebarHistoryCard>().finder;
final initSidebarCardCount =
tester.widgetList<SidebarHistoryCard>(sidebarCards).length;
var historyCards =
spot<HistoryRequests>().spot<HistoryRequestCard>().finder;
var historyCards = find.byType(HistoryRequestCard, skipOffstage: false);
final initHistoryCardCount =
tester.widgetList<HistoryRequestCard>(historyCards).length;
@ -43,8 +41,8 @@ void main() async {
await Future.delayed(const Duration(milliseconds: 200));
await helper.reqHelper.addRequest(
"https://api.apidash.dev/convert/leet",
name: "Social",
params: [("text", "870000")],
name: "test-his-name",
params: [("text", "apidash")],
);
await Future.delayed(const Duration(milliseconds: 200));
await helper.reqHelper.sendRequest();
@ -54,7 +52,7 @@ void main() async {
sidebarCards = spot<HistoryPane>().spot<SidebarHistoryCard>().finder;
final newSidebarCardCount =
tester.widgetList<SidebarHistoryCard>(sidebarCards).length;
historyCards = spot<HistoryRequests>().spot<HistoryRequestCard>().finder;
historyCards = find.byType(HistoryRequestCard, skipOffstage: false);
final newHistoryCardCount =
tester.widgetList<HistoryRequestCard>(historyCards).length;
expect(newSidebarCardCount, initSidebarCardCount);

View File

@ -22,7 +22,7 @@ void main() async {
await ApidashTestHelper.initialize(
size: Size(kCompactWindowWidth, kMinWindowSize.height));
apidashWidgetTest("Testing Environment Manager in desktop end-to-end",
apidashWidgetTest("Testing Environment Manager in mobile end-to-end",
(WidgetTester tester, helper) async {
await tester.pumpUntilFound(find.byType(DashApp));
await Future.delayed(const Duration(seconds: 1));

View File

@ -0,0 +1,78 @@
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:spot/spot.dart';
import 'package:apidash/app.dart';
import 'package:apidash/consts.dart';
import 'package:apidash/widgets/widgets.dart';
import 'package:apidash/screens/history/history_pane.dart';
import 'package:apidash/screens/history/history_widgets/history_widgets.dart';
import '../../test/extensions/widget_tester_extensions.dart';
import '../test_helper.dart';
void main() async {
await ApidashTestHelper.initialize(
size: Size(kCompactWindowWidth, kMinWindowSize.height));
apidashWidgetTest("Testing History of Requests in mobile end-to-end",
(WidgetTester tester, helper) async {
await tester.pumpUntilFound(find.byType(DashApp));
await Future.delayed(const Duration(seconds: 1));
/// Create New Request
await helper.reqHelper.addRequest(
"https://api.apidash.dev/humanize/social",
name: "test-his-name",
params: [("num", "870000")],
isMobile: true,
);
await Future.delayed(const Duration(milliseconds: 200));
await helper.reqHelper.sendRequest();
await helper.reqHelper.sendRequest();
/// Navigate to History
await helper.navigateToHistory(scaffoldKey: kHomeScaffoldKey);
kHisScaffoldKey.currentState!.openDrawer();
var sidebarCards = spot<HistoryPane>().spot<SidebarHistoryCard>().finder;
final initSidebarCardCount =
tester.widgetList<SidebarHistoryCard>(sidebarCards).length;
kHisScaffoldKey.currentState!.closeDrawer();
await act.tap(
spot<HistorySheetButton>().spotIcon(Icons.keyboard_arrow_up_rounded));
await tester.pumpAndSettle();
var historyCards = find.byType(HistoryRequestCard, skipOffstage: false);
final initHistoryCardCount =
tester.widgetList<HistoryRequestCard>(historyCards).length;
await tester.tapAt(const Offset(100, 100));
await tester.pumpAndSettle();
/// Send another request with same name
await helper.navigateToRequestEditor(scaffoldKey: kHisScaffoldKey);
await Future.delayed(const Duration(milliseconds: 200));
await helper.reqHelper.addRequest(
"https://api.apidash.dev/convert/leet",
name: "test-his-name",
params: [("text", "apidash")],
isMobile: true,
);
await Future.delayed(const Duration(milliseconds: 200));
await helper.reqHelper.sendRequest();
/// Check history Card counts
await helper.navigateToHistory(scaffoldKey: kHomeScaffoldKey);
sidebarCards = spot<HistoryPane>().spot<SidebarHistoryCard>().finder;
final newSidebarCardCount =
tester.widgetList<SidebarHistoryCard>(sidebarCards).length;
kHisScaffoldKey.currentState!.closeDrawer();
await act.tap(
spot<HistorySheetButton>().spotIcon(Icons.keyboard_arrow_up_rounded));
await tester.pumpAndSettle();
historyCards = find.byType(HistoryRequestCard, skipOffstage: false);
final newHistoryCardCount =
tester.widgetList<HistoryRequestCard>(historyCards).length;
await tester.tapAt(const Offset(100, 100));
await tester.pumpAndSettle();
expect(newSidebarCardCount, initSidebarCardCount);
expect(newHistoryCardCount, initHistoryCardCount + 1);
});
}

View File

@ -120,8 +120,8 @@ class ApidashTestRequestHelper {
await setRequestMethod(method);
}
await addRequestURL(url);
await addRequestParams(params);
await addRequestHeaders(headers);
if (params.isNotEmpty) await addRequestParams(params);
if (headers.isNotEmpty) await addRequestHeaders(headers);
}
Future<void> sendRequest(

View File

@ -87,5 +87,6 @@ class HistoryMetaStateNotifier
hiveHandler.setHistoryIds(updatedHistoryKeys);
hiveHandler.setHistoryMeta(id, model.metaData.toJson());
await hiveHandler.setHistoryRequest(id, model.toJson());
await loadHistoryRequest(id);
}
}

View File

@ -18,6 +18,7 @@ class _HistoryDetailsState extends ConsumerState<HistoryDetails>
with TickerProviderStateMixin {
@override
Widget build(BuildContext context) {
ref.watch(historySequenceProvider);
final selectedHistoryRequest =
ref.watch(selectedHistoryRequestModelProvider);
final codePaneVisible = ref.watch(historyCodePaneVisibleStateProvider);