text: 'use strict'
  
  const assert = require('assert')
  
  const {remote} = require('electron')
  
  describe('inAppPurchase module', () => {
    if (process.platform !== 'darwin') return
  
    const {inAppPurchase} = remote
  
    it('canMakePayments() does not throw', () => {
      inAppPurchase.canMakePayments()
    })
  
    it('getReceiptURL() returns receipt URL', () => {
      assert.ok(inAppPurchase.getReceiptURL().endsWith('_MASReceipt/receipt'))
    })
  
    it('purchaseProduct() fails when buying invalid product', (done) => {
      inAppPurchase.purchaseProduct('non-exist', 1, (success) => {
        assert.ok(!success)
        done()
      })
    })
  
    it('purchaseProduct() accepts optional arguments', (done) => {
      inAppPurchase.purchaseProduct('non-exist', () => {
        inAppPurchase.purchaseProduct('non-exist', 1)
        done()
      })
    })
  })
  