1
0
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:
Ashita Prasad
2024-01-27 00:38:05 +05:30
parent d8736f1070
commit 7116183a9b
2 changed files with 60 additions and 37 deletions

@ -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);
}); });
} }