From e3a9c77a43ae0b86631ef1f4c1ffe2c5965fe7a0 Mon Sep 17 00:00:00 2001 From: yusufdag Date: Thu, 24 Jun 2021 12:50:10 +0200 Subject: [PATCH 1/3] Added new PurchaseStatus named canceled --- .../lib/src/types/purchase_status.dart | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/in_app_purchase/in_app_purchase_platform_interface/lib/src/types/purchase_status.dart b/packages/in_app_purchase/in_app_purchase_platform_interface/lib/src/types/purchase_status.dart index 78695066702d..ed54e97442a2 100644 --- a/packages/in_app_purchase/in_app_purchase_platform_interface/lib/src/types/purchase_status.dart +++ b/packages/in_app_purchase/in_app_purchase_platform_interface/lib/src/types/purchase_status.dart @@ -26,4 +26,9 @@ enum PurchaseStatus { /// the purchase by calling the `completePurchase` method. More information on /// verifying purchases can be found [here](https://pub.dev/packages/in_app_purchase#restoring-previous-purchases). restored, + + /// The purchase has been canceled. + /// + /// Update your UI to indicate the purchase is canceled. + canceled, } From 5d3c038d0a22761d190245bfb77c1cc5aaf7e7b9 Mon Sep 17 00:00:00 2001 From: yusufdag Date: Thu, 24 Jun 2021 12:50:43 +0200 Subject: [PATCH 2/3] Update the version number and CHANGELOG --- .../in_app_purchase_platform_interface/CHANGELOG.md | 4 ++++ .../in_app_purchase_platform_interface/pubspec.yaml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/in_app_purchase/in_app_purchase_platform_interface/CHANGELOG.md b/packages/in_app_purchase/in_app_purchase_platform_interface/CHANGELOG.md index 15978f3756ef..423b2dac8c41 100644 --- a/packages/in_app_purchase/in_app_purchase_platform_interface/CHANGELOG.md +++ b/packages/in_app_purchase/in_app_purchase_platform_interface/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.2 + +* Added new `PurchaseStatus` named `canceled` to distinguish between an error and user cancellation. + ## 1.0.1 * Fixed `Restoring previous purchases` link. diff --git a/packages/in_app_purchase/in_app_purchase_platform_interface/pubspec.yaml b/packages/in_app_purchase/in_app_purchase_platform_interface/pubspec.yaml index a5be5a005e2c..0d96d0903403 100644 --- a/packages/in_app_purchase/in_app_purchase_platform_interface/pubspec.yaml +++ b/packages/in_app_purchase/in_app_purchase_platform_interface/pubspec.yaml @@ -4,7 +4,7 @@ repository: https://github.com/flutter/plugins/tree/master/packages/in_app_purch issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+in_app_purchase%22 # NOTE: We strongly prefer non-breaking changes, even at the expense of a # less-clean API. See https://flutter.dev/go/platform-interface-breaking-changes -version: 1.0.1 +version: 1.0.2 environment: sdk: ">=2.12.0 <3.0.0" From 7759055418753a71ffcf53d0e1a8a3bb03e271dc Mon Sep 17 00:00:00 2001 From: yusufdag Date: Wed, 7 Jul 2021 12:06:39 +0200 Subject: [PATCH 3/3] Add unit tests --- .../test/src/types/product_details_test.dart | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/packages/in_app_purchase/in_app_purchase_platform_interface/test/src/types/product_details_test.dart b/packages/in_app_purchase/in_app_purchase_platform_interface/test/src/types/product_details_test.dart index d6cbce04c64a..0a1a61232e71 100644 --- a/packages/in_app_purchase/in_app_purchase_platform_interface/test/src/types/product_details_test.dart +++ b/packages/in_app_purchase/in_app_purchase_platform_interface/test/src/types/product_details_test.dart @@ -4,6 +4,7 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:in_app_purchase_platform_interface/in_app_purchase_platform_interface.dart'; +import 'package:in_app_purchase_platform_interface/src/types/purchase_status.dart'; void main() { group('Constructor Tests', () { @@ -25,4 +26,22 @@ void main() { expect(productDetails.currencyCode, 'USD'); }); }); + + group('PurchaseStatus Tests', () { + test('PurchaseStatus should contain 5 options', () { + const List values = PurchaseStatus.values; + + expect(values.length, 5); + }); + + test('PurchaseStatus enum should have items in correct index', () { + const List values = PurchaseStatus.values; + + expect(values[0], PurchaseStatus.pending); + expect(values[1], PurchaseStatus.purchased); + expect(values[2], PurchaseStatus.error); + expect(values[3], PurchaseStatus.restored); + expect(values[4], PurchaseStatus.canceled); + }); + }); }