Skip to content

Commit 3e6fbeb

Browse files
committed
Creating MockPackageInfo for tests.
1 parent 30dd8d9 commit 3e6fbeb

File tree

4 files changed

+55
-1
lines changed

4 files changed

+55
-1
lines changed

lib/folly_fields.dart

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ class FollyFields implements _InternalConfig {
2424
FollyDateParse? dateParseUpdate,
2525
FollyDateParse? dateParseDelete,
2626
Connectivity? connectivity,
27+
PackageInfo? packageInfo,
2728
}) =>
2829
FollyFields()._holder = holder
2930
.._start(
@@ -34,6 +35,7 @@ class FollyFields implements _InternalConfig {
3435
dateParseDelete: dateParseDelete,
3536
responsiveSizes: responsiveSizes,
3637
connectivity: connectivity,
38+
packageInfo: packageInfo,
3739
);
3840

3941
late AbstractConfig _holder;
@@ -399,6 +401,7 @@ abstract class AbstractConfig implements _InternalConfig {
399401
FollyDateParse? dateParseUpdate,
400402
FollyDateParse? dateParseDelete,
401403
Connectivity? connectivity,
404+
PackageInfo? packageInfo,
402405
}) async {
403406
if (_started) {
404407
if (kDebugMode) {
@@ -435,7 +438,7 @@ abstract class AbstractConfig implements _InternalConfig {
435438
_platform = RunningPlatform.fuchsia;
436439
}
437440

438-
PackageInfo packageInfo = await PackageInfo.fromPlatform();
441+
packageInfo ??= await PackageInfo.fromPlatform();
439442

440443
_version = packageInfo.version;
441444

test/mocks/mock_package_info.dart

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
// ignore_for_file: avoid-top-level-members-in-tests
2+
3+
import 'package:package_info_plus/package_info_plus.dart';
4+
5+
///
6+
///
7+
///
8+
// ignore: avoid_implementing_value_types
9+
class MockPackageInfo implements PackageInfo {
10+
@override
11+
final String appName;
12+
@override
13+
final String buildNumber;
14+
@override
15+
final String buildSignature;
16+
@override
17+
final String? installerStore;
18+
@override
19+
final String packageName;
20+
@override
21+
final String version;
22+
23+
///
24+
///
25+
///
26+
MockPackageInfo({
27+
this.appName = 'folly_fields',
28+
this.buildNumber = '0',
29+
this.buildSignature = '',
30+
this.installerStore,
31+
this.packageName = 'folly_fields',
32+
this.version = '0.0.0',
33+
});
34+
35+
///
36+
///
37+
///
38+
@override
39+
Map<String, dynamic> get data => <String, dynamic>{
40+
'appName': appName,
41+
'buildNumber': buildNumber,
42+
'buildSignature': buildSignature,
43+
'installerStore': installerStore,
44+
'packageName': packageName,
45+
'version': version,
46+
};
47+
}

test/util/model_utils/from_json_safe_list_test.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import '../../mocks/crud/mock_string_consumer.dart';
66
import '../../mocks/crud/mock_string_model.dart';
77
import '../../mocks/mock_config.dart';
88
import '../../mocks/mock_connectivity.dart';
9+
import '../../mocks/mock_package_info.dart';
910

1011
///
1112
///
@@ -18,6 +19,7 @@ void main() {
1819
FollyFields.start(
1920
MockConfig(),
2021
connectivity: MockConnectivity(),
22+
packageInfo: MockPackageInfo(),
2123
);
2224

2325
const MockStringConsumer consumer = MockStringConsumer();

test/util/model_utils/from_json_safe_set_test.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import '../../mocks/crud/mock_string_consumer.dart';
66
import '../../mocks/crud/mock_string_model.dart';
77
import '../../mocks/mock_config.dart';
88
import '../../mocks/mock_connectivity.dart';
9+
import '../../mocks/mock_package_info.dart';
910

1011
///
1112
///
@@ -18,6 +19,7 @@ void main() {
1819
FollyFields.start(
1920
MockConfig(),
2021
connectivity: MockConnectivity(),
22+
packageInfo: MockPackageInfo(),
2123
);
2224

2325
const MockStringConsumer consumer = MockStringConsumer();

0 commit comments

Comments
 (0)