mirror of
https://github.com/vodemn/m3_lightmeter.git
synced 2024-10-18 22:30:39 +00:00
f0d707b071
* Upgraded `targetSdkVersion` to 34
* added price to `IAPProduct`
* implemented `ProFeaturesScreen` (wip)
* finalized `ProFeaturesScreen` layout
* replaced `ProFeaturesDialog` with `ProFeaturesScreen`
* added translations
* fixed feature checkbox width calculation
* fixed tests
* separated android & ios features
* NPE
* changed "get pro" tile colors
* unified Lightmeter Pro related naming
* typo
* updated golden tests
* use iap 0.11.0
* revert unrelated changes
This reverts commit bae5ead8f0
.
* lint
* adjusted eng translation
* updated goldens
49 lines
1.4 KiB
Dart
49 lines
1.4 KiB
Dart
import 'package:flutter/widgets.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:golden_toolkit/golden_toolkit.dart';
|
|
import 'package:lightmeter/data/models/theme_type.dart';
|
|
import 'package:lightmeter/screens/lightmeter_pro/screen_lightmeter_pro.dart';
|
|
import 'package:m3_lightmeter_iap/m3_lightmeter_iap.dart';
|
|
import 'package:shared_preferences/shared_preferences.dart';
|
|
|
|
import '../../application_mock.dart';
|
|
import '../../utils/golden_test_set_theme.dart';
|
|
|
|
void main() {
|
|
setUpAll(() {
|
|
SharedPreferences.setMockInitialValues({});
|
|
});
|
|
|
|
testGoldens(
|
|
'LightmeterProScreen golden test',
|
|
(tester) async {
|
|
final builder = DeviceBuilder();
|
|
builder.addScenario(
|
|
name: 'Get Pro',
|
|
widget: const _MockLightmeterProFlow(),
|
|
onCreate: (scenarioWidgetKey) async {
|
|
if (scenarioWidgetKey.toString().contains('Dark')) {
|
|
await setTheme<LightmeterProScreen>(tester, scenarioWidgetKey, ThemeType.dark);
|
|
}
|
|
},
|
|
);
|
|
await tester.pumpDeviceBuilder(builder);
|
|
await screenMatchesGolden(
|
|
tester,
|
|
'lightmeter_pro_screen',
|
|
);
|
|
},
|
|
);
|
|
}
|
|
|
|
class _MockLightmeterProFlow extends StatelessWidget {
|
|
const _MockLightmeterProFlow();
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return GoldenTestApplicationMock(
|
|
productStatus: IAPProductStatus.purchasable,
|
|
child: LightmeterProScreen(),
|
|
);
|
|
}
|
|
}
|