@NonNull @Override public IInAppBillingService service(IBinder binder) { return new SuccessfulBillingService(); }
@Override public Bundle getBuyIntent(int apiVersion, String packageName, String sku, String type, String developerPayload) throws RemoteException { final Bundle bundle = responseOkBundle(); bundle.putParcelable(RESPONSE_BUY_INTENT, mock(PendingIntent.class)); return bundle; }
@Test public void billingSupportedOk() { final IInAppBillingService service = new SuccessfulBillingService(); final Billing billing = billing(service); final boolean result = billing.isBillingSupported(); assertThat(result).isTrue(); }
@Override public Bundle getSkuDetails(int apiVersion, String packageName, String type, Bundle skusBundle) throws RemoteException { final Bundle bundle = responseOkBundle(); bundle.putStringArrayList(RESPONSE_DETAILS_LIST, arrayList(JSON_SKU)); return bundle; }
@Test public void consumeSkuOk() { final IInAppBillingService service = new SuccessfulBillingService(); final Billing billing = billing(service); final boolean result = billing.consumeSku(SKU); assertThat(result).isTrue(); }
@Override public Bundle getPurchases(int apiVersion, String packageName, String type, String continuationToken) throws RemoteException { final Bundle bundle = responseOkBundle(); bundle.putStringArrayList(RESPONSE_ITEM_LIST, arrayList(SKU)); return bundle; }
@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(); }