Skip to content

Commit ce275ab

Browse files
packageInfo: support fallback logic testing
enabled test files and other modules to simulate packageInfo being null or set custom values via ZulipBinding.instance.packageInfo
1 parent 73cc2d9 commit ce275ab

File tree

4 files changed

+19
-6
lines changed

4 files changed

+19
-6
lines changed

lib/notifications/receive.dart

-1
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,6 @@ class NotificationService {
149149
await addFcmToken(connection, token: token);
150150

151151
case TargetPlatform.iOS:
152-
// TODO(#407) find actual value live
153152
await addApnsToken(connection, token: token, appid: (await ZulipBinding.instance.packageInfo)?.packageName ?? "com.zulip.flutter");
154153

155154
case TargetPlatform.linux:

test/model/binding.dart

+5-2
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ class TestZulipBinding extends ZulipBinding {
228228
BaseDeviceInfo? get syncDeviceInfo => deviceInfoResult;
229229

230230
/// The value that `ZulipBinding.instance.packageInfo` should return.
231-
PackageInfo packageInfoResult = _defaultPackageInfo;
231+
PackageInfo? packageInfoResult = _defaultPackageInfo;
232232
static const _defaultPackageInfo = PackageInfo(version: '0.0.1', buildNumber: '1', packageName: 'com.zulip.flutter.test');
233233

234234
void _resetPackageInfo() {
@@ -241,6 +241,10 @@ class TestZulipBinding extends ZulipBinding {
241241
@override
242242
PackageInfo? get syncPackageInfo => packageInfoResult;
243243

244+
void setPackageInfo(PackageInfo? packageInfo){
245+
packageInfoResult= packageInfo;
246+
}
247+
244248
void _resetFirebase() {
245249
_firebaseInitialized = false;
246250
_firebaseMessaging = null;
@@ -380,7 +384,6 @@ class TestZulipBinding extends ZulipBinding {
380384
Future<void> toggleWakelock({required bool enable}) async {
381385
_wakelockEnabled = enable;
382386
}
383-
384387
}
385388

386389
class FakeFirebaseMessaging extends Fake implements FirebaseMessaging {

test/model/store_test.dart

+2-2
Original file line numberDiff line numberDiff line change
@@ -1032,7 +1032,7 @@ void main() {
10321032
if (defaultTargetPlatform == TargetPlatform.android) {
10331033
checkLastRequestFcm(token: '012abc');
10341034
} else {
1035-
checkLastRequestApns(token: '012abc', appid:(await testBinding.packageInfo)?.packageName?? 'com.zulip.flutter.test');
1035+
checkLastRequestApns(token: '012abc', appid:'com.zulip.flutter.test');
10361036
}
10371037

10381038
if (defaultTargetPlatform == TargetPlatform.android) {
@@ -1071,7 +1071,7 @@ void main() {
10711071
if (defaultTargetPlatform == TargetPlatform.android) {
10721072
checkLastRequestFcm(token: '012abc');
10731073
} else {
1074-
checkLastRequestApns(token: '012abc', appid:(await testBinding.packageInfo)?.packageName?? 'com.zulip.flutter.test');
1074+
checkLastRequestApns(token: '012abc', appid:'com.zulip.flutter.test');
10751075
}
10761076

10771077
if (defaultTargetPlatform == TargetPlatform.android) {

test/notifications/receive_test.dart

+12-1
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,19 @@ void main() {
3434
group('tokens', () {
3535
test('APNs token registration using correct app bundle ID', () async {
3636
await init();
37-
check((await testBinding.packageInfo)?.packageName?? 'com.zulip.flutter.test')
37+
check((await testBinding.packageInfo)?.packageName)
3838
.equals('com.zulip.flutter.test');
3939
}, );
40+
41+
test('Fallback to default appBundleId if packageInfo is null', () async {
42+
await init();
43+
// setting package Info to null
44+
testBinding.setPackageInfo(null);
45+
46+
const defaultAppId = 'com.zulip.flutter.test';
47+
48+
check((await testBinding.packageInfo)?.packageName?? defaultAppId)
49+
.equals(defaultAppId);
50+
}, );
4051
});
4152
}

0 commit comments

Comments
 (0)