mirror of
https://github.com/foss42/apidash.git
synced 2025-07-03 14:36:22 +08:00
Update BodySuccess widget and tests
This commit is contained in:
@ -437,10 +437,8 @@ class _BodySuccessState extends State<BodySuccess> {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
kVSpacer10,
|
kVSpacer10,
|
||||||
Visibility(
|
switch (currentSeg) {
|
||||||
visible: currentSeg == ResponseBodyView.preview ||
|
ResponseBodyView.preview || ResponseBodyView.none => Expanded(
|
||||||
currentSeg == ResponseBodyView.none,
|
|
||||||
child: Expanded(
|
|
||||||
child: Container(
|
child: Container(
|
||||||
width: double.maxFinite,
|
width: double.maxFinite,
|
||||||
padding: kP8,
|
padding: kP8,
|
||||||
@ -454,27 +452,20 @@ class _BodySuccessState extends State<BodySuccess> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
ResponseBodyView.code => Expanded(
|
||||||
if (widget.formattedBody != null)
|
|
||||||
Visibility(
|
|
||||||
visible: currentSeg == ResponseBodyView.code,
|
|
||||||
child: Expanded(
|
|
||||||
child: Container(
|
child: Container(
|
||||||
width: double.maxFinite,
|
width: double.maxFinite,
|
||||||
padding: kP8,
|
padding: kP8,
|
||||||
decoration: textContainerdecoration,
|
decoration: textContainerdecoration,
|
||||||
child: CodePreviewer(
|
child: CodePreviewer(
|
||||||
code: widget.formattedBody!,
|
code: widget.formattedBody ?? widget.body,
|
||||||
theme: codeTheme,
|
theme: codeTheme,
|
||||||
language: widget.highlightLanguage,
|
language: widget.highlightLanguage,
|
||||||
textStyle: kCodeStyle,
|
textStyle: kCodeStyle,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
ResponseBodyView.raw => Expanded(
|
||||||
Visibility(
|
|
||||||
visible: currentSeg == ResponseBodyView.raw,
|
|
||||||
child: Expanded(
|
|
||||||
child: Container(
|
child: Container(
|
||||||
width: double.maxFinite,
|
width: double.maxFinite,
|
||||||
padding: kP8,
|
padding: kP8,
|
||||||
@ -487,7 +478,7 @@ class _BodySuccessState extends State<BodySuccess> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
}
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
@ -431,7 +431,9 @@ void main() async {
|
|||||||
expect(find.byType(Image), findsOneWidget);
|
expect(find.byType(Image), findsOneWidget);
|
||||||
});
|
});
|
||||||
|
|
||||||
testWidgets('Testing Body Success tap segment', (tester) async {
|
testWidgets(
|
||||||
|
'Testing Body Success tap segment. formattedBody is always shown in Raw',
|
||||||
|
(tester) async {
|
||||||
await tester.pumpWidget(
|
await tester.pumpWidget(
|
||||||
MaterialApp(
|
MaterialApp(
|
||||||
title: 'Body Success',
|
title: 'Body Success',
|
||||||
@ -458,7 +460,37 @@ void main() async {
|
|||||||
|
|
||||||
await tester.tap(find.text('Raw'));
|
await tester.tap(find.text('Raw'));
|
||||||
await tester.pumpAndSettle();
|
await tester.pumpAndSettle();
|
||||||
expect(find.text('Formatted Hello from API Dash'), findsNothing);
|
expect(find.text('Formatted Hello from API Dash'), findsOneWidget);
|
||||||
|
expect(find.text('Raw Hello from API Dash'), findsNothing);
|
||||||
|
});
|
||||||
|
|
||||||
|
testWidgets('Testing Body Success tap segment for formattedBody null',
|
||||||
|
(tester) async {
|
||||||
|
await tester.pumpWidget(
|
||||||
|
MaterialApp(
|
||||||
|
title: 'Body Success',
|
||||||
|
theme: kThemeDataLight,
|
||||||
|
home: Scaffold(
|
||||||
|
body: BodySuccess(
|
||||||
|
body: 'Raw Hello from API Dash',
|
||||||
|
formattedBody: null,
|
||||||
|
mediaType: MediaType("text", "csv"),
|
||||||
|
options: const [
|
||||||
|
ResponseBodyView.code,
|
||||||
|
ResponseBodyView.raw,
|
||||||
|
],
|
||||||
|
bytes: kBodyBytesJpeg,
|
||||||
|
highlightLanguage: 'txt',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
await tester.pumpAndSettle();
|
||||||
|
expect(find.text('Raw Hello from API Dash'), findsOneWidget);
|
||||||
|
|
||||||
|
await tester.tap(find.text('Raw'));
|
||||||
|
await tester.pumpAndSettle();
|
||||||
expect(find.text('Raw Hello from API Dash'), findsOneWidget);
|
expect(find.text('Raw Hello from API Dash'), findsOneWidget);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user