Skip to content

Commit e93c611

Browse files
committed
refactoring
1 parent ae911a3 commit e93c611

File tree

7 files changed

+78
-83
lines changed

7 files changed

+78
-83
lines changed

integration_test/req_helper.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ class ApidashTestRequestHelper {
8484

8585
var headerCells = find.descendant(
8686
of: find.byType(EditRequestHeaders),
87-
matching: find.byType(HeaderField));
87+
matching: find.byType(EnvHeaderField));
8888
var valueCells = find.descendant(
8989
of: find.byType(EditRequestHeaders),
9090
matching: find.byType(EnvCellField));
@@ -95,7 +95,7 @@ class ApidashTestRequestHelper {
9595
tester.testTextInput.enterText(keyValuePairs[i].$2);
9696
headerCells = find.descendant(
9797
of: find.byType(EditRequestHeaders),
98-
matching: find.byType(HeaderField));
98+
matching: find.byType(EnvHeaderField));
9999
valueCells = find.descendant(
100100
of: find.byType(EditRequestHeaders),
101101
matching: find.byType(EnvCellField));
Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
export 'api_type_dropdown.dart';
22
export 'button_navbar.dart';
33
export 'code_pane.dart';
4-
export 'editor_title.dart';
54
export 'editor_title_actions.dart';
6-
export 'envfield_url.dart';
5+
export 'editor_title.dart';
6+
export 'env_regexp_span_builder.dart';
7+
export 'env_trigger_field.dart';
8+
export 'env_trigger_options.dart';
79
export 'envfield_cell.dart';
10+
export 'envfield_header.dart';
11+
export 'envfield_url.dart';
812
export 'environment_dropdown.dart';
913
export 'envvar_indicator.dart';
10-
export 'envvar_span.dart';
1114
export 'envvar_popover.dart';
12-
export 'env_trigger_options.dart';
13-
export 'field_header.dart';
15+
export 'envvar_span.dart';
1416
export 'sidebar_filter.dart';
1517
export 'sidebar_header.dart';
1618
export 'sidebar_save_button.dart';

lib/screens/common_widgets/field_header.dart renamed to lib/screens/common_widgets/envfield_header.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import 'package:multi_trigger_autocomplete_plus/multi_trigger_autocomplete_plus.
44
import 'package:apidash/utils/utils.dart';
55
import 'envfield_cell.dart';
66

7-
class HeaderField extends StatefulWidget {
8-
const HeaderField({
7+
class EnvHeaderField extends StatefulWidget {
8+
const EnvHeaderField({
99
super.key,
1010
required this.keyId,
1111
this.hintText,
@@ -20,10 +20,10 @@ class HeaderField extends StatefulWidget {
2020
final ColorScheme? colorScheme;
2121

2222
@override
23-
State<HeaderField> createState() => _HeaderFieldState();
23+
State<EnvHeaderField> createState() => _EnvHeaderFieldState();
2424
}
2525

26-
class _HeaderFieldState extends State<HeaderField> {
26+
class _EnvHeaderFieldState extends State<EnvHeaderField> {
2727
final FocusNode focusNode = FocusNode();
2828
@override
2929
Widget build(BuildContext context) {

lib/screens/home_page/editor_pane/details_card/request_pane/request_headers.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ class EditRequestHeadersState extends ConsumerState<EditRequestHeaders> {
103103
),
104104
),
105105
DataCell(
106-
HeaderField(
106+
EnvHeaderField(
107107
keyId: "$selectedId-$index-headers-k-$seed",
108108
initialValue: headerRows[index].name,
109109
hintText: kHintAddName,

packages/apidash_core/lib/services/http_service.dart

Lines changed: 14 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Future<(HttpResponse?, Duration?, String?)> sendHttpRequest(
1919
SupportedUriSchemes defaultUriScheme = kDefaultUriScheme,
2020
bool noSSL = false,
2121
}) async {
22-
if(httpClientManager.wasRequestCancelled(requestId)){
22+
if (httpClientManager.wasRequestCancelled(requestId)) {
2323
httpClientManager.removeCancelledRequest(requestId);
2424
}
2525
final client = httpClientManager.createClient(requestId, noSSL: noSSL);
@@ -82,30 +82,19 @@ Future<(HttpResponse?, Duration?, String?)> sendHttpRequest(
8282
return (convertedMultiPartResponse, stopwatch.elapsed, null);
8383
}
8484
}
85-
switch (requestModel.method) {
86-
case HTTPVerb.get:
87-
response = await client.get(requestUrl, headers: headers);
88-
break;
89-
case HTTPVerb.head:
90-
response = await client.head(requestUrl, headers: headers);
91-
break;
92-
case HTTPVerb.post:
93-
response =
94-
await client.post(requestUrl, headers: headers, body: body);
95-
break;
96-
case HTTPVerb.put:
97-
response =
98-
await client.put(requestUrl, headers: headers, body: body);
99-
break;
100-
case HTTPVerb.patch:
101-
response =
102-
await client.patch(requestUrl, headers: headers, body: body);
103-
break;
104-
case HTTPVerb.delete:
105-
response =
106-
await client.delete(requestUrl, headers: headers, body: body);
107-
break;
108-
}
85+
response = switch (requestModel.method) {
86+
HTTPVerb.get => await client.get(requestUrl, headers: headers),
87+
HTTPVerb.head => response =
88+
await client.head(requestUrl, headers: headers),
89+
HTTPVerb.post => response =
90+
await client.post(requestUrl, headers: headers, body: body),
91+
HTTPVerb.put => response =
92+
await client.put(requestUrl, headers: headers, body: body),
93+
HTTPVerb.patch => response =
94+
await client.patch(requestUrl, headers: headers, body: body),
95+
HTTPVerb.delete => response =
96+
await client.delete(requestUrl, headers: headers, body: body),
97+
};
10998
}
11099
if (apiType == APIType.graphql) {
111100
var requestBody = getGraphQLBody(requestModel);
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
import 'package:apidash/screens/common_widgets/envfield_header.dart';
2+
import 'package:flutter/material.dart';
3+
import 'package:flutter_test/flutter_test.dart';
4+
import 'package:flutter_portal/flutter_portal.dart';
5+
import 'package:extended_text_field/extended_text_field.dart';
6+
import 'package:spot/spot.dart';
7+
8+
void main() {
9+
group('HeaderField Widget Tests', () {
10+
testWidgets('HeaderField renders and displays ExtendedTextField',
11+
(tester) async {
12+
await tester.pumpWidget(
13+
const Portal(
14+
child: MaterialApp(
15+
home: Scaffold(
16+
body: EnvHeaderField(
17+
keyId: "testKey",
18+
hintText: "Enter header",
19+
),
20+
),
21+
),
22+
),
23+
);
24+
25+
spot<EnvHeaderField>().spot<ExtendedTextField>().existsOnce();
26+
});
27+
28+
testWidgets('HeaderField calls onChanged when text changes',
29+
(tester) async {
30+
String? changedText;
31+
await tester.pumpWidget(
32+
Portal(
33+
child: MaterialApp(
34+
home: Scaffold(
35+
body: EnvHeaderField(
36+
keyId: "testKey",
37+
hintText: "Enter header",
38+
onChanged: (text) => changedText = text,
39+
),
40+
),
41+
),
42+
),
43+
);
44+
45+
await act.tap(spot<EnvHeaderField>().spot<ExtendedTextField>());
46+
tester.testTextInput.enterText("new header");
47+
expect(changedText, "new header");
48+
});
49+
});
50+
}

test/widgets/field_header_test.dart renamed to test/widgets/menu_header_suggestions_test.dart

Lines changed: 0 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,8 @@
1-
import 'package:apidash/screens/common_widgets/field_header.dart';
21
import 'package:apidash/widgets/menu_header_suggestions.dart';
32
import 'package:flutter/material.dart';
43
import 'package:flutter_test/flutter_test.dart';
5-
import 'package:flutter_portal/flutter_portal.dart';
6-
import 'package:extended_text_field/extended_text_field.dart';
7-
import 'package:spot/spot.dart';
84

95
void main() {
10-
group('HeaderField Widget Tests', () {
11-
testWidgets('HeaderField renders and displays ExtendedTextField',
12-
(tester) async {
13-
await tester.pumpWidget(
14-
const Portal(
15-
child: MaterialApp(
16-
home: Scaffold(
17-
body: HeaderField(
18-
keyId: "testKey",
19-
hintText: "Enter header",
20-
),
21-
),
22-
),
23-
),
24-
);
25-
26-
spot<HeaderField>().spot<ExtendedTextField>().existsOnce();
27-
});
28-
29-
testWidgets('HeaderField calls onChanged when text changes',
30-
(tester) async {
31-
String? changedText;
32-
await tester.pumpWidget(
33-
Portal(
34-
child: MaterialApp(
35-
home: Scaffold(
36-
body: HeaderField(
37-
keyId: "testKey",
38-
hintText: "Enter header",
39-
onChanged: (text) => changedText = text,
40-
),
41-
),
42-
),
43-
),
44-
);
45-
46-
await act.tap(spot<HeaderField>().spot<ExtendedTextField>());
47-
tester.testTextInput.enterText("new header");
48-
expect(changedText, "new header");
49-
});
50-
});
51-
526
group('HeaderSuggestions Widget Tests', () {
537
testWidgets('HeaderSuggestions displays suggestions correctly',
548
(tester) async {

0 commit comments

Comments
 (0)