Files
apidash/packages/apidash_design_system/test/extensions/context_extensions_test.dart
2024-12-12 05:33:34 +05:30

113 lines
3.1 KiB
Dart

import 'package:apidash_design_system/apidash_design_system.dart';
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
void main() {
group('Testing MediaQueryExtension', () {
testWidgets('isCompactWindow returns true for compact window size',
(tester) async {
await tester.pumpWidget(
MediaQuery(
data: MediaQueryData(size: Size(WindowWidth.compact.value - 1, 800)),
child: Builder(
builder: (context) {
expect(context.isCompactWindow, isTrue);
return Container();
},
),
),
);
});
testWidgets('isMediumWindow returns true for medium window size',
(tester) async {
await tester.pumpWidget(
MediaQuery(
data: MediaQueryData(size: Size(WindowWidth.medium.value - 1, 800)),
child: Builder(
builder: (context) {
expect(context.isMediumWindow, isTrue);
return Container();
},
),
),
);
});
testWidgets('isExpandedWindow returns true for expanded window size',
(tester) async {
await tester.pumpWidget(
MediaQuery(
data: MediaQueryData(size: Size(WindowWidth.expanded.value - 1, 800)),
child: Builder(
builder: (context) {
expect(context.isExpandedWindow, isTrue);
return Container();
},
),
),
);
});
testWidgets('isLargeWindow returns true for large window size',
(tester) async {
await tester.pumpWidget(
MediaQuery(
data: MediaQueryData(size: Size(WindowWidth.large.value - 1, 800)),
child: Builder(
builder: (context) {
expect(context.isLargeWindow, isTrue);
return Container();
},
),
),
);
});
testWidgets('isExtraLargeWindow returns true for extra large window size',
(tester) async {
await tester.pumpWidget(
MediaQuery(
data: MediaQueryData(size: Size(WindowWidth.large.value + 1, 800)),
child: Builder(
builder: (context) {
expect(context.isExtraLargeWindow, isTrue);
return Container();
},
),
),
);
});
testWidgets('width returns correct width', (tester) async {
const double testWidth = 1024;
await tester.pumpWidget(
MediaQuery(
data: const MediaQueryData(size: Size(testWidth, 800)),
child: Builder(
builder: (context) {
expect(context.width, testWidth);
return Container();
},
),
),
);
});
testWidgets('height returns correct height', (tester) async {
const double testHeight = 768;
await tester.pumpWidget(
MediaQuery(
data: const MediaQueryData(size: Size(1024, testHeight)),
child: Builder(
builder: (context) {
expect(context.height, testHeight);
return Container();
},
),
),
);
});
});
}