Files
apidash/test/widgets/texts_test.dart
Ashita Prasad a3536b021b refactor
2024-10-22 07:06:06 +05:30

71 lines
2.2 KiB
Dart

import 'package:apidash_core/apidash_core.dart';
import 'package:apidash_design_system/apidash_design_system.dart';
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:apidash/utils/utils.dart' show getDarkModeColor;
import 'package:apidash/widgets/texts.dart';
void main() {
testWidgets('Testing when method is GET', (tester) async {
var methodGet = HTTPVerb.get;
await tester.pumpWidget(
MaterialApp(
title: 'Texts',
theme: ThemeData(brightness: Brightness.light),
home: Scaffold(
body: MethodBox(method: methodGet),
),
),
);
expect(find.byType(SizedBox), findsOneWidget);
expect(find.text('GET'), findsOneWidget);
expect(find.text('DEL'), findsNothing);
final getTextWithColor = find.byWidgetPredicate((widget) =>
widget is Text && widget.style!.color == kColorHttpMethodGet);
expect(getTextWithColor, findsOneWidget);
});
testWidgets('Testing when method is DELETE', (tester) async {
var methodDel = HTTPVerb.delete;
await tester.pumpWidget(
MaterialApp(
title: 'Texts',
theme: ThemeData(brightness: Brightness.dark),
home: Scaffold(
body: MethodBox(method: methodDel),
),
),
);
expect(find.byType(SizedBox), findsOneWidget);
expect(find.text('DEL'), findsOneWidget);
expect(find.text('GET'), findsNothing);
Color colDelDarkMode = getDarkModeColor(kColorHttpMethodDelete);
final delTextWithColor = find.byWidgetPredicate(
(widget) => widget is Text && widget.style!.color == colDelDarkMode);
expect(delTextWithColor, findsOneWidget);
});
testWidgets('Testing StatusCode', (WidgetTester tester) async {
const int testStatusCode = 200;
const TextStyle testStyle = TextStyle(fontSize: 20);
await tester.pumpWidget(
const MaterialApp(
home: Scaffold(
body: StatusCode(
statusCode: testStatusCode,
style: testStyle,
),
),
),
);
Finder code = find.text(testStatusCode.toString());
expect(code, findsOneWidget);
final Text textWidget = tester.widget(code);
expect(textWidget.style?.fontSize, testStyle.fontSize);
});
}