Files
reelbox/test/artwork_data_saver_test.dart

37 lines
1.2 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:reelbox/state/app_state.dart';
import 'package:reelbox/ui/common.dart';
import 'package:shared_preferences/shared_preferences.dart';
void main() {
testWidgets(
'data saver never builds network images and retains artwork placeholder',
(tester) async {
SharedPreferences.setMockInitialValues({});
final state = AppState();
await state.updateSettings(state.prefs.copyWith(dataSaver: true));
await tester.pumpWidget(
AppScope(
state: state,
child: const MaterialApp(
home: Scaffold(
body: MediaArtwork(
url: 'https://example.test/poster.jpg',
width: 100,
height: 140,
),
),
),
),
);
expect(find.byType(Image), findsNothing);
expect(find.byIcon(Icons.local_movies_outlined), findsOneWidget);
final size = tester.getSize(find.byType(MediaArtwork));
expect(size, const Size(100, 140));
await tester.pumpWidget(const SizedBox());
state.dispose();
},
);
}