Files
manager/test/core/widgets/status_pill_test.dart
T

34 lines
1.4 KiB
Dart
Raw Normal View History

2026-07-27 14:42:23 +02:00
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:manager/core/theme/app_theme.dart';
import 'package:manager/core/theme/status_colors.dart';
import 'package:manager/core/widgets/status_pill.dart';
Widget _wrap(Widget child) => MaterialApp(theme: AppTheme.light(), home: Scaffold(body: Center(child: child)));
void main() {
testWidgets('renders its label', (tester) async {
await tester.pumpWidget(_wrap(const StatusPill(label: 'up', severity: Severity.good)));
expect(find.text('up'), findsOneWidget);
});
testWidgets('good/critical/neutral each resolve to a distinct pill color', (tester) async {
Future<Color> pillColorFor(Severity severity) async {
await tester.pumpWidget(_wrap(StatusPill(label: severity.name, severity: severity)));
final container = tester.widget<Container>(
find.descendant(of: find.byType(StatusPill), matching: find.byType(Container)).first,
);
final decoration = container.decoration as BoxDecoration;
return decoration.color!;
}
final good = await pillColorFor(Severity.good);
final critical = await pillColorFor(Severity.critical);
final neutral = await pillColorFor(Severity.neutral);
expect(good, isNot(equals(critical)));
expect(good, isNot(equals(neutral)));
expect(critical, isNot(equals(neutral)));
});
}