Billing billing() { return TestFactory.billing(service()); }
@Test public void purchaseNullPendingIntent() { final IInAppBillingService service = new BillingServiceStub() { @Override public Bundle getBuyIntent(int apiVersion, String packageName, String sku, String type, String developerPayload) throws RemoteException { final Bundle bundle = new Bundle(2); bundle.putInt(RESPONSE_CODE, BILLING_RESPONSE_RESULT_OK); bundle.putParcelable(RESPONSE_BUY_INTENT, null); return bundle; } }; final Billing billing = billing(service); final Activity activity = mock(Activity.class); final boolean response = billing.purchase(activity, SKU, 0, null); assertThat(response).isFalse(); assertNoInteraction(activity); }
@Test public void billingSupportedOk() { final IInAppBillingService service = new SuccessfulBillingService(); final Billing billing = billing(service); final boolean result = billing.isBillingSupported(); assertThat(result).isTrue(); }
@Test public void ownsSkuOk() { final IInAppBillingService service = withOwnedSkus(SKU); final Billing billing = billing(service); final boolean result = billing.ownsSku(SKU); assertThat(result).isTrue(); }
@Test public void skuDetailsNull() { final IInAppBillingService service = withJsonSkus(null); final Billing billing = billing(service); final SkuDetails details = billing.skuDetails(SKU); assertThat(details).isNull(); }
@Test public void skuDetailsEmpty() { final IInAppBillingService service = withJsonSkus(); final Billing billing = billing(service); final SkuDetails details = billing.skuDetails(SKU); assertThat(details).isNull(); }
@Test public void ownsSkuEmptyResponseList() { final IInAppBillingService service = withOwnedSkus(); final Billing billing = billing(service); final boolean result = billing.ownsSku(SKU); assertThat(result).isFalse(); }
@Test public void consumeSkuOk() { final IInAppBillingService service = new SuccessfulBillingService(); final Billing billing = billing(service); final boolean result = billing.consumeSku(SKU); assertThat(result).isTrue(); }
@Test public void ownsSkuNullResponseList() { final IInAppBillingService service = withOwnedSkus(null); final Billing billing = billing(service); final boolean result = billing.ownsSku(SKU); assertThat(result).isFalse(); }
@Test public void purchaseOk() throws Exception { final IInAppBillingService service = new SuccessfulBillingService(); final Activity activity = mock(Activity.class); final Billing billing = billing(service); final boolean response = billing.purchase(activity, SKU, 0, null); assertInvokedOnce(activity).startIntentSenderForResult(null, 0, null, 0, 0, 0); assertThat(response).isTrue(); }
@Test public void skuDetailsOk() throws Exception { final String json = JSON_SKU; final IInAppBillingService service = withJsonSkus(json); final Billing billing = billing(service); final SkuDetails details = billing.skuDetails(SKU); assertThat(details).isNotNull(); final SkuDetails actual = new SkuDetails(json); assertThat(details).isEqualTo(actual); }