mirror of
https://github.com/foss42/apidash.git
synced 2025-12-11 15:49:48 +08:00
feat: use find.descendant for ExtendedTextField widgets
This commit is contained in:
@@ -69,12 +69,16 @@ void main() {
|
|||||||
final authFields = find.byType(EnvAuthField);
|
final authFields = find.byType(EnvAuthField);
|
||||||
expect(authFields, findsNWidgets(2));
|
expect(authFields, findsNWidgets(2));
|
||||||
|
|
||||||
// Find ExtendedTextField widgets within the EnvAuthField widgets
|
// Find the last EnvAuthField (API key value field)
|
||||||
final textFields = find.byType(ExtendedTextField);
|
final lastAuthField = authFields.last;
|
||||||
expect(textFields, findsAtLeastNWidgets(2));
|
|
||||||
|
// Find ExtendedTextField within the last EnvAuthField using find.descendant
|
||||||
|
final lastField = find.descendant(
|
||||||
|
of: lastAuthField,
|
||||||
|
matching: find.byType(ExtendedTextField),
|
||||||
|
);
|
||||||
|
expect(lastField, findsOneWidget);
|
||||||
|
|
||||||
// Use testTextInput to directly input text
|
|
||||||
final lastField = textFields.last;
|
|
||||||
await tester.tap(lastField);
|
await tester.tap(lastField);
|
||||||
await tester.pumpAndSettle();
|
await tester.pumpAndSettle();
|
||||||
|
|
||||||
@@ -218,12 +222,22 @@ void main() {
|
|||||||
// Wait for the widget to settle
|
// Wait for the widget to settle
|
||||||
await tester.pumpAndSettle();
|
await tester.pumpAndSettle();
|
||||||
|
|
||||||
// Find ExtendedTextField widgets
|
// Find EnvAuthField widgets
|
||||||
final textFields = find.byType(ExtendedTextField);
|
final authFields = find.byType(EnvAuthField);
|
||||||
expect(textFields, findsAtLeastNWidgets(2));
|
expect(authFields, findsNWidgets(2));
|
||||||
|
|
||||||
// Tap and enter text in the name field (should be the first text field)
|
// Find the first EnvAuthField (API key name field)
|
||||||
await tester.tap(textFields.first);
|
final firstAuthField = authFields.first;
|
||||||
|
|
||||||
|
// Find ExtendedTextField within the first EnvAuthField using find.descendant
|
||||||
|
final nameField = find.descendant(
|
||||||
|
of: firstAuthField,
|
||||||
|
matching: find.byType(ExtendedTextField),
|
||||||
|
);
|
||||||
|
expect(nameField, findsOneWidget);
|
||||||
|
|
||||||
|
// Tap and enter text in the name field
|
||||||
|
await tester.tap(nameField);
|
||||||
await tester.pumpAndSettle();
|
await tester.pumpAndSettle();
|
||||||
|
|
||||||
// Use tester.testTextInput to enter text directly
|
// Use tester.testTextInput to enter text directly
|
||||||
@@ -266,15 +280,21 @@ void main() {
|
|||||||
await tester.pumpAndSettle();
|
await tester.pumpAndSettle();
|
||||||
|
|
||||||
// Find EnvAuthField widgets
|
// Find EnvAuthField widgets
|
||||||
final textFields = find.byType(EnvAuthField);
|
final authFields = find.byType(EnvAuthField);
|
||||||
expect(textFields, findsNWidgets(2));
|
expect(authFields, findsNWidgets(2));
|
||||||
|
|
||||||
// Find the underlying ExtendedTextField widgets
|
// Find the last EnvAuthField (API key value field)
|
||||||
final extendedTextFields = find.byType(ExtendedTextField);
|
final lastAuthField = authFields.last;
|
||||||
expect(extendedTextFields, findsAtLeastNWidgets(2));
|
|
||||||
|
|
||||||
// Tap and enter text in the key field (should be the last text field)
|
// Find ExtendedTextField within the last EnvAuthField using find.descendant
|
||||||
await tester.tap(extendedTextFields.last);
|
final keyField = find.descendant(
|
||||||
|
of: lastAuthField,
|
||||||
|
matching: find.byType(ExtendedTextField),
|
||||||
|
);
|
||||||
|
expect(keyField, findsOneWidget);
|
||||||
|
|
||||||
|
// Tap and enter text in the key field
|
||||||
|
await tester.tap(keyField);
|
||||||
await tester.pumpAndSettle();
|
await tester.pumpAndSettle();
|
||||||
|
|
||||||
// Use tester.testTextInput to enter text directly
|
// Use tester.testTextInput to enter text directly
|
||||||
|
|||||||
@@ -91,11 +91,20 @@ void main() {
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
// Find the username field (first ExtendedTextField)
|
// Find EnvAuthField widgets
|
||||||
final textFields = find.byType(ExtendedTextField);
|
final authFields = find.byType(EnvAuthField);
|
||||||
expect(textFields, findsAtLeastNWidgets(2));
|
expect(authFields, findsNWidgets(2));
|
||||||
|
|
||||||
|
// Find the first EnvAuthField (username field)
|
||||||
|
final firstAuthField = authFields.first;
|
||||||
|
|
||||||
|
// Find ExtendedTextField within the first EnvAuthField using find.descendant
|
||||||
|
final usernameField = find.descendant(
|
||||||
|
of: firstAuthField,
|
||||||
|
matching: find.byType(ExtendedTextField),
|
||||||
|
);
|
||||||
|
expect(usernameField, findsOneWidget);
|
||||||
|
|
||||||
final usernameField = textFields.first;
|
|
||||||
await tester.tap(usernameField);
|
await tester.tap(usernameField);
|
||||||
await tester.pumpAndSettle();
|
await tester.pumpAndSettle();
|
||||||
|
|
||||||
@@ -133,11 +142,20 @@ void main() {
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
// Find the password field (second ExtendedTextField)
|
// Find EnvAuthField widgets
|
||||||
final textFields = find.byType(ExtendedTextField);
|
final authFields = find.byType(EnvAuthField);
|
||||||
expect(textFields, findsAtLeastNWidgets(2));
|
expect(authFields, findsNWidgets(2));
|
||||||
|
|
||||||
|
// Find the last EnvAuthField (password field)
|
||||||
|
final lastAuthField = authFields.last;
|
||||||
|
|
||||||
|
// Find ExtendedTextField within the last EnvAuthField using find.descendant
|
||||||
|
final passwordField = find.descendant(
|
||||||
|
of: lastAuthField,
|
||||||
|
matching: find.byType(ExtendedTextField),
|
||||||
|
);
|
||||||
|
expect(passwordField, findsOneWidget);
|
||||||
|
|
||||||
final passwordField = textFields.last;
|
|
||||||
await tester.tap(passwordField);
|
await tester.tap(passwordField);
|
||||||
await tester.pumpAndSettle();
|
await tester.pumpAndSettle();
|
||||||
|
|
||||||
@@ -245,10 +263,19 @@ void main() {
|
|||||||
);
|
);
|
||||||
|
|
||||||
// Enter username
|
// Enter username
|
||||||
final textFields = find.byType(ExtendedTextField);
|
final authFields = find.byType(EnvAuthField);
|
||||||
expect(textFields, findsAtLeastNWidgets(2));
|
expect(authFields, findsNWidgets(2));
|
||||||
|
|
||||||
|
// Find the first EnvAuthField (username field)
|
||||||
|
final firstAuthField = authFields.first;
|
||||||
|
|
||||||
|
// Find ExtendedTextField within the first EnvAuthField using find.descendant
|
||||||
|
final usernameField = find.descendant(
|
||||||
|
of: firstAuthField,
|
||||||
|
matching: find.byType(ExtendedTextField),
|
||||||
|
);
|
||||||
|
expect(usernameField, findsOneWidget);
|
||||||
|
|
||||||
final usernameField = textFields.first;
|
|
||||||
await tester.tap(usernameField);
|
await tester.tap(usernameField);
|
||||||
await tester.pumpAndSettle();
|
await tester.pumpAndSettle();
|
||||||
|
|
||||||
|
|||||||
@@ -88,10 +88,16 @@ void main() {
|
|||||||
);
|
);
|
||||||
|
|
||||||
// Find the token field
|
// Find the token field
|
||||||
final textFields = find.byType(ExtendedTextField);
|
final authField = find.byType(EnvAuthField);
|
||||||
expect(textFields, findsAtLeastNWidgets(1));
|
expect(authField, findsOneWidget);
|
||||||
|
|
||||||
|
// Find ExtendedTextField within the EnvAuthField using find.descendant
|
||||||
|
final tokenField = find.descendant(
|
||||||
|
of: authField,
|
||||||
|
matching: find.byType(ExtendedTextField),
|
||||||
|
);
|
||||||
|
expect(tokenField, findsOneWidget);
|
||||||
|
|
||||||
final tokenField = textFields.first;
|
|
||||||
await tester.tap(tokenField);
|
await tester.tap(tokenField);
|
||||||
await tester.pumpAndSettle();
|
await tester.pumpAndSettle();
|
||||||
|
|
||||||
@@ -197,10 +203,16 @@ void main() {
|
|||||||
);
|
);
|
||||||
|
|
||||||
// Enter token
|
// Enter token
|
||||||
final textFields = find.byType(ExtendedTextField);
|
final authField = find.byType(EnvAuthField);
|
||||||
expect(textFields, findsAtLeastNWidgets(1));
|
expect(authField, findsOneWidget);
|
||||||
|
|
||||||
|
// Find ExtendedTextField within the EnvAuthField using find.descendant
|
||||||
|
final tokenField = find.descendant(
|
||||||
|
of: authField,
|
||||||
|
matching: find.byType(ExtendedTextField),
|
||||||
|
);
|
||||||
|
expect(tokenField, findsOneWidget);
|
||||||
|
|
||||||
final tokenField = textFields.first;
|
|
||||||
await tester.tap(tokenField);
|
await tester.tap(tokenField);
|
||||||
await tester.pumpAndSettle();
|
await tester.pumpAndSettle();
|
||||||
|
|
||||||
@@ -254,10 +266,16 @@ void main() {
|
|||||||
);
|
);
|
||||||
|
|
||||||
// Enter token with whitespace
|
// Enter token with whitespace
|
||||||
final textFields = find.byType(ExtendedTextField);
|
final authField = find.byType(EnvAuthField);
|
||||||
expect(textFields, findsAtLeastNWidgets(1));
|
expect(authField, findsOneWidget);
|
||||||
|
|
||||||
|
// Find ExtendedTextField within the EnvAuthField using find.descendant
|
||||||
|
final tokenField = find.descendant(
|
||||||
|
of: authField,
|
||||||
|
matching: find.byType(ExtendedTextField),
|
||||||
|
);
|
||||||
|
expect(tokenField, findsOneWidget);
|
||||||
|
|
||||||
final tokenField = textFields.first;
|
|
||||||
await tester.tap(tokenField);
|
await tester.tap(tokenField);
|
||||||
await tester.pumpAndSettle();
|
await tester.pumpAndSettle();
|
||||||
|
|
||||||
|
|||||||
@@ -109,11 +109,20 @@ void main() {
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
// Find the username field (first ExtendedTextField)
|
// Find EnvAuthField widgets
|
||||||
final textFields = find.byType(ExtendedTextField);
|
final authFields = find.byType(EnvAuthField);
|
||||||
expect(textFields, findsAtLeastNWidgets(6));
|
expect(authFields, findsNWidgets(6));
|
||||||
|
|
||||||
|
// Find the first EnvAuthField (username field)
|
||||||
|
final firstAuthField = authFields.first;
|
||||||
|
|
||||||
|
// Find ExtendedTextField within the first EnvAuthField using find.descendant
|
||||||
|
final usernameField = find.descendant(
|
||||||
|
of: firstAuthField,
|
||||||
|
matching: find.byType(ExtendedTextField),
|
||||||
|
);
|
||||||
|
expect(usernameField, findsOneWidget);
|
||||||
|
|
||||||
final usernameField = textFields.first;
|
|
||||||
await tester.tap(usernameField);
|
await tester.tap(usernameField);
|
||||||
await tester.pumpAndSettle();
|
await tester.pumpAndSettle();
|
||||||
|
|
||||||
@@ -156,11 +165,20 @@ void main() {
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
// Find the password field (second ExtendedTextField)
|
// Find EnvAuthField widgets
|
||||||
final textFields = find.byType(ExtendedTextField);
|
final authFields = find.byType(EnvAuthField);
|
||||||
expect(textFields, findsAtLeastNWidgets(6));
|
expect(authFields, findsNWidgets(6));
|
||||||
|
|
||||||
|
// Find the second EnvAuthField (password field)
|
||||||
|
final secondAuthField = authFields.at(1);
|
||||||
|
|
||||||
|
// Find ExtendedTextField within the second EnvAuthField using find.descendant
|
||||||
|
final passwordField = find.descendant(
|
||||||
|
of: secondAuthField,
|
||||||
|
matching: find.byType(ExtendedTextField),
|
||||||
|
);
|
||||||
|
expect(passwordField, findsOneWidget);
|
||||||
|
|
||||||
final passwordField = textFields.at(1);
|
|
||||||
await tester.tap(passwordField);
|
await tester.tap(passwordField);
|
||||||
await tester.pumpAndSettle();
|
await tester.pumpAndSettle();
|
||||||
|
|
||||||
@@ -245,11 +263,20 @@ void main() {
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
// Find the realm field (third ExtendedTextField)
|
// Find EnvAuthField widgets
|
||||||
final textFields = find.byType(ExtendedTextField);
|
final authFields = find.byType(EnvAuthField);
|
||||||
expect(textFields, findsAtLeastNWidgets(6));
|
expect(authFields, findsNWidgets(6));
|
||||||
|
|
||||||
|
// Find the third EnvAuthField (realm field)
|
||||||
|
final thirdAuthField = authFields.at(2);
|
||||||
|
|
||||||
|
// Find ExtendedTextField within the third EnvAuthField using find.descendant
|
||||||
|
final realmField = find.descendant(
|
||||||
|
of: thirdAuthField,
|
||||||
|
matching: find.byType(ExtendedTextField),
|
||||||
|
);
|
||||||
|
expect(realmField, findsOneWidget);
|
||||||
|
|
||||||
final realmField = textFields.at(2);
|
|
||||||
await tester.tap(realmField);
|
await tester.tap(realmField);
|
||||||
await tester.pumpAndSettle();
|
await tester.pumpAndSettle();
|
||||||
|
|
||||||
@@ -370,7 +397,19 @@ void main() {
|
|||||||
);
|
);
|
||||||
|
|
||||||
// Enter username
|
// Enter username
|
||||||
final usernameField = find.byType(ExtendedTextField).first;
|
final authFields = find.byType(EnvAuthField);
|
||||||
|
expect(authFields, findsNWidgets(6));
|
||||||
|
|
||||||
|
// Find the first EnvAuthField (username field)
|
||||||
|
final firstAuthField = authFields.first;
|
||||||
|
|
||||||
|
// Find ExtendedTextField within the first EnvAuthField using find.descendant
|
||||||
|
final usernameField = find.descendant(
|
||||||
|
of: firstAuthField,
|
||||||
|
matching: find.byType(ExtendedTextField),
|
||||||
|
);
|
||||||
|
expect(usernameField, findsOneWidget);
|
||||||
|
|
||||||
await tester.tap(usernameField);
|
await tester.tap(usernameField);
|
||||||
tester.testTextInput.enterText('testuser');
|
tester.testTextInput.enterText('testuser');
|
||||||
await tester.pumpAndSettle();
|
await tester.pumpAndSettle();
|
||||||
@@ -435,10 +474,19 @@ void main() {
|
|||||||
);
|
);
|
||||||
|
|
||||||
// Enter username with whitespace
|
// Enter username with whitespace
|
||||||
final textFields = find.byType(ExtendedTextField);
|
final authFields = find.byType(EnvAuthField);
|
||||||
expect(textFields, findsAtLeastNWidgets(6));
|
expect(authFields, findsNWidgets(6));
|
||||||
|
|
||||||
|
// Find the first EnvAuthField (username field)
|
||||||
|
final firstAuthField = authFields.first;
|
||||||
|
|
||||||
|
// Find ExtendedTextField within the first EnvAuthField using find.descendant
|
||||||
|
final usernameField = find.descendant(
|
||||||
|
of: firstAuthField,
|
||||||
|
matching: find.byType(ExtendedTextField),
|
||||||
|
);
|
||||||
|
expect(usernameField, findsOneWidget);
|
||||||
|
|
||||||
final usernameField = textFields.first;
|
|
||||||
await tester.tap(usernameField);
|
await tester.tap(usernameField);
|
||||||
await tester.pumpAndSettle();
|
await tester.pumpAndSettle();
|
||||||
|
|
||||||
|
|||||||
@@ -270,7 +270,16 @@ void main() {
|
|||||||
);
|
);
|
||||||
|
|
||||||
// Find the secret field
|
// Find the secret field
|
||||||
final secretField = find.byType(ExtendedTextField).first;
|
final authField = find.byType(EnvAuthField);
|
||||||
|
expect(authField, findsOneWidget);
|
||||||
|
|
||||||
|
// Find ExtendedTextField within the EnvAuthField using find.descendant
|
||||||
|
final secretField = find.descendant(
|
||||||
|
of: authField,
|
||||||
|
matching: find.byType(ExtendedTextField),
|
||||||
|
);
|
||||||
|
expect(secretField, findsOneWidget);
|
||||||
|
|
||||||
await tester.tap(secretField);
|
await tester.tap(secretField);
|
||||||
tester.testTextInput.enterText('new-secret');
|
tester.testTextInput.enterText('new-secret');
|
||||||
await tester.pumpAndSettle();
|
await tester.pumpAndSettle();
|
||||||
|
|||||||
Reference in New Issue
Block a user