From 7fbe2cfd4aea5349e353541eefe62a8e84e8870f Mon Sep 17 00:00:00 2001 From: Ashita Prasad Date: Sat, 22 Apr 2023 04:04:47 +0530 Subject: [PATCH] Create menus_test.dart --- test/widgets/menus_test.dart | 52 ++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 test/widgets/menus_test.dart diff --git a/test/widgets/menus_test.dart b/test/widgets/menus_test.dart new file mode 100644 index 00000000..3a73b5e3 --- /dev/null +++ b/test/widgets/menus_test.dart @@ -0,0 +1,52 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:apidash/widgets/menus.dart'; +import 'package:apidash/consts.dart'; +import '../test_consts.dart'; + +void main() { + testWidgets('Testing RequestCardMenu', (tester) async { + dynamic changedValue; + await tester.pumpWidget( + MaterialApp( + title: 'CardMenu testing', + theme: kThemeDataLight, + home: Scaffold( + body: Center( + child: Column( + children: [ + RequestCardMenu( + onSelected: (value) { + changedValue = value; + }, + ), + ], + ), + ), + ), + ), + ); + + expect(find.byType(PopupMenuButton), findsOneWidget); + + await tester.tap(find.byType(PopupMenuButton)); + await tester.pump(); + await tester.pump(const Duration(seconds: 1)); + + await tester.tap(find.text('Delete').last); + await tester.pump(); + await tester.pump(const Duration(seconds: 1)); + + expect(changedValue, RequestItemMenuOption.delete); + + await tester.tap(find.byType(PopupMenuButton)); + await tester.pump(); + await tester.pump(const Duration(seconds: 1)); + + await tester.tap(find.text('Duplicate').last); + await tester.pump(); + await tester.pump(const Duration(seconds: 1)); + + expect(changedValue, RequestItemMenuOption.duplicate); + }); +}