Select only matching entitlements from storekit list

Co-authored-by: Jon Chambers <63609320+jon-signal@users.noreply.github.com>
This commit is contained in:
ravi-signal
2026-02-19 12:59:11 -05:00
committed by GitHub
parent c78541f00b
commit 207d95dfdd
2 changed files with 44 additions and 11 deletions

View File

@@ -147,6 +147,28 @@ class AppleAppStoreManagerTest {
}
@Test
public void multipleLastTransactionsItems()
throws VerificationException, APIException, IOException, SubscriptionPaymentRequiredException, SubscriptionInvalidArgumentsException, SubscriptionNotFoundException, RateLimitExceededException {
when(apiClient.getAllSubscriptionStatuses(ORIGINAL_TX_ID, new Status[]{}))
.thenReturn(new StatusResponse()
.data(List.of(new SubscriptionGroupIdentifierItem()
.subscriptionGroupIdentifier(SUBSCRIPTION_GROUP_ID)
.addLastTransactionsItem(new LastTransactionsItem()
.originalTransactionId(ORIGINAL_TX_ID + "-different")
.status(Status.ACTIVE)
.signedRenewalInfo(SIGNED_RENEWAL_INFO)
.signedTransactionInfo(SIGNED_TX_INFO))
.addLastTransactionsItem(new LastTransactionsItem()
.originalTransactionId(ORIGINAL_TX_ID)
.status(Status.ACTIVE)
.signedRenewalInfo(SIGNED_RENEWAL_INFO)
.signedTransactionInfo(SIGNED_TX_INFO))))
.environment(Environment.PRODUCTION));
mockDecode(AutoRenewStatus.ON);
assertThat(appleAppStoreManager.validateTransaction(ORIGINAL_TX_ID)).isEqualTo(LEVEL);
}
@Test
public void cancelRenewalDisabled() throws APIException, VerificationException, IOException {
mockSubscription(Status.ACTIVE, AutoRenewStatus.OFF);