From 16a592bf3cd0429cc75fadadc188996c2e507866 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Sun, 26 Jun 2016 20:38:14 -0500 Subject: [PATCH] chore: show how to use yields --- test/api/v3/unit/libs/inAppPurchases.test.js | 34 +++++++++----------- 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/test/api/v3/unit/libs/inAppPurchases.test.js b/test/api/v3/unit/libs/inAppPurchases.test.js index 5080bdf79f..42eefa0195 100644 --- a/test/api/v3/unit/libs/inAppPurchases.test.js +++ b/test/api/v3/unit/libs/inAppPurchases.test.js @@ -1,26 +1,16 @@ import { model as User } from '../../../../../website/server/models/user'; -import requireAgain from 'require-again'; import iapLibrary from 'in-app-purchase'; +import iap from '../../../../../website/server/libs/api-v3/inAppPurchases'; describe.only('In App Purchases', () => { let user; - let pathToIAP = '../../../../../website/server/libs/api-v3/inAppPurchases'; - let iap; - let setupSpy; - let validateSpy; - let isValidatedSpy; beforeEach(() => { user = new User(); - setupSpy = sinon.spy(); - validateSpy = sinon.spy(); - isValidatedSpy = sinon.spy(); - sandbox.stub(iapLibrary, 'setup').returns((err) => setupSpy(err)); - sandbox.stub(iapLibrary, 'validate').returns((err) => validateSpy(err)); - sandbox.stub(iapLibrary, 'isValidated').returns(isValidatedSpy); - - iap = requireAgain(pathToIAP); + sandbox.stub(iapLibrary, 'setup').yields(); + sandbox.stub(iapLibrary, 'validate').yields(); + sandbox.stub(iapLibrary, 'isValidated').yields(); }); afterEach(() => { @@ -29,13 +19,21 @@ describe.only('In App Purchases', () => { describe('Android', () => { it('applies new valid receipt', async () => { - await iap.iapAndroidVerify(user, { + let res = await iap.iapAndroidVerify(user, { receipt: {token: 1}, }); - expect(setupSpy).to.have.been.called; - expect(validateSpy).to.have.been.called; - expect(isValidatedSpy).to.have.been.called; + console.log(res); + }); + + it('example with stub yielding an error', async () => { + iapLibrary.setup.yields(new Error('an error')); + + let res = await iap.iapAndroidVerify(user, { + receipt: {token: 1}, + }); + + console.log(res); }); }); });