chore: make Release type equatable (#3117)
This commit is contained in:
@@ -127,7 +127,7 @@ void main() {
|
||||
flutterRevision: flutterRevision,
|
||||
flutterVersion: flutterVersion,
|
||||
displayName: displayName,
|
||||
platformStatuses: {},
|
||||
platformStatuses: const {},
|
||||
createdAt: DateTime(2023),
|
||||
updatedAt: DateTime(2023),
|
||||
);
|
||||
@@ -561,7 +561,9 @@ void main() {
|
||||
flutterRevision: flutterRevision,
|
||||
flutterVersion: flutterVersion,
|
||||
displayName: displayName,
|
||||
platformStatuses: {releasePlatform: ReleaseStatus.active},
|
||||
platformStatuses: const {
|
||||
releasePlatform: ReleaseStatus.active,
|
||||
},
|
||||
createdAt: DateTime(2023),
|
||||
updatedAt: DateTime(2023),
|
||||
),
|
||||
@@ -597,7 +599,7 @@ You can manage this release in the ${link(uri: uri, message: 'Shorebird Console'
|
||||
flutterRevision: flutterRevision,
|
||||
flutterVersion: flutterVersion,
|
||||
displayName: displayName,
|
||||
platformStatuses: {},
|
||||
platformStatuses: const {},
|
||||
createdAt: DateTime(2023),
|
||||
updatedAt: DateTime(2023),
|
||||
),
|
||||
@@ -622,7 +624,9 @@ You can manage this release in the ${link(uri: uri, message: 'Shorebird Console'
|
||||
flutterRevision: flutterRevision,
|
||||
flutterVersion: flutterVersion,
|
||||
displayName: displayName,
|
||||
platformStatuses: {releasePlatform: ReleaseStatus.draft},
|
||||
platformStatuses: const {
|
||||
releasePlatform: ReleaseStatus.draft,
|
||||
},
|
||||
createdAt: DateTime(2023),
|
||||
updatedAt: DateTime(2023),
|
||||
),
|
||||
|
||||
@@ -80,7 +80,7 @@ void main() {
|
||||
flutterRevision: flutterRevision,
|
||||
flutterVersion: flutterVersion,
|
||||
displayName: '1.2.3+1',
|
||||
platformStatuses: {releasePlatform: ReleaseStatus.active},
|
||||
platformStatuses: const {releasePlatform: ReleaseStatus.active},
|
||||
createdAt: DateTime(2023),
|
||||
updatedAt: DateTime(2023),
|
||||
);
|
||||
@@ -898,7 +898,7 @@ void main() {
|
||||
flutterRevision: flutterRevision,
|
||||
flutterVersion: flutterVersion,
|
||||
displayName: '1.0.0+1',
|
||||
platformStatuses: {
|
||||
platformStatuses: const {
|
||||
ReleasePlatform.windows: ReleaseStatus.active,
|
||||
},
|
||||
createdAt: DateTime(2023),
|
||||
@@ -938,7 +938,7 @@ void main() {
|
||||
flutterRevision: flutterRevision,
|
||||
flutterVersion: flutterVersion,
|
||||
displayName: releaseVersion,
|
||||
platformStatuses: {releasePlatform: ReleaseStatus.active},
|
||||
platformStatuses: const {releasePlatform: ReleaseStatus.active},
|
||||
createdAt: DateTime(2024),
|
||||
updatedAt: DateTime(2024),
|
||||
),
|
||||
@@ -949,7 +949,7 @@ void main() {
|
||||
flutterRevision: flutterRevision,
|
||||
flutterVersion: flutterVersion,
|
||||
displayName: '99.99.99+99',
|
||||
platformStatuses: {releasePlatform: ReleaseStatus.active},
|
||||
platformStatuses: const {releasePlatform: ReleaseStatus.active},
|
||||
createdAt: DateTime(2023),
|
||||
updatedAt: DateTime(2023),
|
||||
),
|
||||
@@ -1061,7 +1061,7 @@ void main() {
|
||||
flutterRevision: flutterRevision,
|
||||
flutterVersion: flutterVersion,
|
||||
displayName: releaseVersion,
|
||||
platformStatuses: {releasePlatform: ReleaseStatus.active},
|
||||
platformStatuses: const {releasePlatform: ReleaseStatus.active},
|
||||
createdAt: DateTime(2023),
|
||||
updatedAt: DateTime(2023),
|
||||
),
|
||||
@@ -1072,7 +1072,7 @@ void main() {
|
||||
flutterRevision: flutterRevision,
|
||||
flutterVersion: flutterVersion,
|
||||
displayName: '2.0.0+1',
|
||||
platformStatuses: {
|
||||
platformStatuses: const {
|
||||
ReleasePlatform.macos: ReleaseStatus.active,
|
||||
ReleasePlatform.windows: ReleaseStatus.active,
|
||||
},
|
||||
@@ -1127,7 +1127,7 @@ void main() {
|
||||
flutterRevision: releaseFlutterRevision,
|
||||
flutterVersion: flutterVersion,
|
||||
displayName: '1.2.3+1',
|
||||
platformStatuses: {releasePlatform: ReleaseStatus.active},
|
||||
platformStatuses: const {releasePlatform: ReleaseStatus.active},
|
||||
createdAt: DateTime(2023),
|
||||
updatedAt: DateTime(2023),
|
||||
),
|
||||
@@ -1266,7 +1266,7 @@ void main() {
|
||||
flutterRevision: flutterRevision,
|
||||
flutterVersion: flutterVersion,
|
||||
displayName: '1.2.3+1',
|
||||
platformStatuses: {releasePlatform: ReleaseStatus.draft},
|
||||
platformStatuses: const {releasePlatform: ReleaseStatus.draft},
|
||||
createdAt: DateTime(2023),
|
||||
updatedAt: DateTime(2023),
|
||||
),
|
||||
@@ -1302,7 +1302,7 @@ Please re-run the release command for this version or create a new release.'''),
|
||||
flutterRevision: flutterRevision,
|
||||
flutterVersion: flutterVersion,
|
||||
displayName: '1.2.3+1',
|
||||
platformStatuses: {ReleasePlatform.ios: ReleaseStatus.active},
|
||||
platformStatuses: const {ReleasePlatform.ios: ReleaseStatus.active},
|
||||
createdAt: DateTime(2023),
|
||||
updatedAt: DateTime(2023),
|
||||
),
|
||||
|
||||
@@ -34,7 +34,7 @@ void main() {
|
||||
flutterRevision: flutterRevision,
|
||||
flutterVersion: flutterVersion,
|
||||
displayName: '1.2.3+1',
|
||||
platformStatuses: {releasePlatform: ReleaseStatus.active},
|
||||
platformStatuses: const {releasePlatform: ReleaseStatus.active},
|
||||
createdAt: DateTime(2023),
|
||||
updatedAt: DateTime(2023),
|
||||
);
|
||||
|
||||
@@ -388,7 +388,7 @@ void main() {
|
||||
flutterRevision: flutterRevision,
|
||||
flutterVersion: flutterVersion,
|
||||
displayName: '1.2.3+1',
|
||||
platformStatuses: {},
|
||||
platformStatuses: const {},
|
||||
createdAt: DateTime(2023),
|
||||
updatedAt: DateTime(2023),
|
||||
);
|
||||
|
||||
@@ -532,7 +532,7 @@ To change the version of this release, change your app's version in your pubspec
|
||||
flutterRevision: flutterRevision,
|
||||
flutterVersion: flutterVersion,
|
||||
displayName: '1.2.3+1',
|
||||
platformStatuses: {},
|
||||
platformStatuses: const {},
|
||||
createdAt: DateTime(2023),
|
||||
updatedAt: DateTime(2023),
|
||||
);
|
||||
|
||||
@@ -400,7 +400,7 @@ void main() {
|
||||
flutterRevision: flutterRevision,
|
||||
flutterVersion: flutterVersion,
|
||||
displayName: '1.2.3+1',
|
||||
platformStatuses: {},
|
||||
platformStatuses: const {},
|
||||
createdAt: DateTime(2023),
|
||||
updatedAt: DateTime(2023),
|
||||
);
|
||||
|
||||
@@ -605,7 +605,7 @@ To change the version of this release, change your app's version in your pubspec
|
||||
flutterRevision: flutterRevision,
|
||||
flutterVersion: flutterVersion,
|
||||
displayName: '1.2.3+1',
|
||||
platformStatuses: {},
|
||||
platformStatuses: const {},
|
||||
createdAt: DateTime(2023),
|
||||
updatedAt: DateTime(2023),
|
||||
);
|
||||
|
||||
@@ -526,7 +526,7 @@ To change the version of this release, change your app's version in your pubspec
|
||||
flutterRevision: flutterRevision,
|
||||
flutterVersion: flutterVersion,
|
||||
displayName: '1.2.3+1',
|
||||
platformStatuses: {},
|
||||
platformStatuses: const {},
|
||||
createdAt: DateTime(2023),
|
||||
updatedAt: DateTime(2023),
|
||||
);
|
||||
|
||||
@@ -48,7 +48,7 @@ void main() {
|
||||
flutterRevision: flutterRevision,
|
||||
flutterVersion: flutterVersionString,
|
||||
displayName: '1.2.3+1',
|
||||
platformStatuses: {},
|
||||
platformStatuses: const {},
|
||||
createdAt: DateTime(2023),
|
||||
updatedAt: DateTime(2023),
|
||||
);
|
||||
@@ -413,7 +413,7 @@ void main() {
|
||||
flutterRevision: 'different',
|
||||
flutterVersion: '3.12.1',
|
||||
displayName: '1.2.3+1',
|
||||
platformStatuses: {},
|
||||
platformStatuses: const {},
|
||||
createdAt: DateTime(2023),
|
||||
updatedAt: DateTime(2023),
|
||||
);
|
||||
|
||||
@@ -1163,7 +1163,7 @@ void main() {
|
||||
flutterRevision: flutterRevision,
|
||||
flutterVersion: flutterVersion,
|
||||
displayName: displayName,
|
||||
platformStatuses: {},
|
||||
platformStatuses: const {},
|
||||
createdAt: DateTime(2023),
|
||||
updatedAt: DateTime(2023),
|
||||
),
|
||||
@@ -1683,7 +1683,9 @@ void main() {
|
||||
flutterRevision: flutterRevision,
|
||||
flutterVersion: flutterVersion,
|
||||
displayName: 'v1.0.0',
|
||||
platformStatuses: {ReleasePlatform.android: ReleaseStatus.draft},
|
||||
platformStatuses: const {
|
||||
ReleasePlatform.android: ReleaseStatus.draft,
|
||||
},
|
||||
createdAt: DateTime(2022),
|
||||
updatedAt: DateTime(2023),
|
||||
),
|
||||
@@ -1694,7 +1696,7 @@ void main() {
|
||||
flutterRevision: flutterRevision,
|
||||
flutterVersion: flutterVersion,
|
||||
displayName: 'v1.0.1',
|
||||
platformStatuses: {},
|
||||
platformStatuses: const {},
|
||||
createdAt: DateTime(2022),
|
||||
updatedAt: DateTime(2023),
|
||||
),
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
// ignore_for_file: implicit_dynamic_parameter, require_trailing_commas, cast_nullable_to_non_nullable, lines_longer_than_80_chars, unnecessary_lambdas
|
||||
// ignore_for_file: implicit_dynamic_parameter, require_trailing_commas, cast_nullable_to_non_nullable, lines_longer_than_80_chars
|
||||
|
||||
part of 'patch_check_request.dart';
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
// ignore_for_file: implicit_dynamic_parameter, require_trailing_commas, cast_nullable_to_non_nullable, lines_longer_than_80_chars, unnecessary_lambdas
|
||||
// ignore_for_file: implicit_dynamic_parameter, require_trailing_commas, cast_nullable_to_non_nullable, lines_longer_than_80_chars
|
||||
|
||||
part of 'patch_check_response.dart';
|
||||
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
import 'package:meta/meta.dart';
|
||||
import 'package:shorebird_code_push_protocol/shorebird_code_push_protocol.dart';
|
||||
|
||||
part 'release.g.dart';
|
||||
@@ -8,7 +10,8 @@ part 'release.g.dart';
|
||||
/// A release can have zero or more patches applied to it.
|
||||
/// {@endtemplate}
|
||||
@JsonSerializable()
|
||||
class Release {
|
||||
@immutable
|
||||
class Release extends Equatable {
|
||||
/// {@macro release}
|
||||
const Release({
|
||||
required this.id,
|
||||
@@ -64,4 +67,18 @@ class Release {
|
||||
///
|
||||
/// This value is freeform text with no assumptions about content or format.
|
||||
final String? notes;
|
||||
|
||||
@override
|
||||
List<Object?> get props => [
|
||||
id,
|
||||
appId,
|
||||
version,
|
||||
flutterRevision,
|
||||
flutterVersion,
|
||||
displayName,
|
||||
platformStatuses,
|
||||
createdAt,
|
||||
updatedAt,
|
||||
notes,
|
||||
];
|
||||
}
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@ void main() {
|
||||
displayName: 'v1.0.0',
|
||||
flutterRevision: 'flutter-revision',
|
||||
flutterVersion: '3.22.0',
|
||||
platformStatuses: {},
|
||||
platformStatuses: const {},
|
||||
createdAt: DateTime(2023),
|
||||
updatedAt: DateTime(2023),
|
||||
),
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ void main() {
|
||||
flutterRevision: 'flutter-revision',
|
||||
flutterVersion: '3.22.0',
|
||||
version: '1.0.0',
|
||||
platformStatuses: {
|
||||
platformStatuses: const {
|
||||
ReleasePlatform.ios: ReleaseStatus.draft,
|
||||
ReleasePlatform.android: ReleaseStatus.active,
|
||||
},
|
||||
|
||||
@@ -11,7 +11,7 @@ void main() {
|
||||
flutterRevision: '83305b5088e6fe327fb3334a73ff190828d85713',
|
||||
flutterVersion: '3.22.0',
|
||||
displayName: 'v1.0.0',
|
||||
platformStatuses: {ReleasePlatform.android: ReleaseStatus.active},
|
||||
platformStatuses: const {ReleasePlatform.android: ReleaseStatus.active},
|
||||
notes: 'some notes',
|
||||
createdAt: DateTime(2023),
|
||||
updatedAt: DateTime(2023),
|
||||
@@ -21,5 +21,47 @@ void main() {
|
||||
equals(release.toJson()),
|
||||
);
|
||||
});
|
||||
|
||||
test('is equatable', () {
|
||||
final release1 = Release(
|
||||
id: 1,
|
||||
appId: 'app-id',
|
||||
version: '1.0.0',
|
||||
flutterRevision: '83305b5088e6fe327fb3334a73ff190828d85713',
|
||||
flutterVersion: '3.22.0',
|
||||
displayName: 'v1.0.0',
|
||||
platformStatuses: const {ReleasePlatform.android: ReleaseStatus.active},
|
||||
notes: 'some notes',
|
||||
createdAt: DateTime(2023),
|
||||
updatedAt: DateTime(2023),
|
||||
);
|
||||
final release1Copy = Release(
|
||||
id: 1,
|
||||
appId: 'app-id',
|
||||
version: '1.0.0',
|
||||
flutterRevision: '83305b5088e6fe327fb3334a73ff190828d85713',
|
||||
flutterVersion: '3.22.0',
|
||||
displayName: 'v1.0.0',
|
||||
platformStatuses: const {ReleasePlatform.android: ReleaseStatus.active},
|
||||
notes: 'some notes',
|
||||
createdAt: DateTime(2023),
|
||||
updatedAt: DateTime(2023),
|
||||
);
|
||||
final release2 = Release(
|
||||
id: 2,
|
||||
appId: 'app-id',
|
||||
version: '1.0.0+1',
|
||||
flutterRevision: '83305b5088e6fe327fb3334a73ff190828d85713',
|
||||
flutterVersion: '3.22.0',
|
||||
displayName: 'v1.0.0',
|
||||
platformStatuses: const {ReleasePlatform.android: ReleaseStatus.active},
|
||||
notes: 'some notes',
|
||||
createdAt: DateTime(2023),
|
||||
updatedAt: DateTime(2023),
|
||||
);
|
||||
|
||||
expect(release1, equals(release1Copy));
|
||||
expect(release1, isNot(equals(release2)));
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user