const nock = require('nock'); const bearerToken = require('../bearer-token'); const assert = require('assert'); const tokenValue = 'access_token_from_api'; (async () => { const scope = nock('https://api.twitter.com') .post('/oauth2/token') .reply(200, {token_type: 'bearer', access_token: 'access_token_from_api'}); let token = null; await assert.doesNotReject(async () => { token = await bearerToken({ consumer_key: 'test_consumer_key', consumer_secret: 'test_consumer_secret', }); }); assert.equal(token, tokenValue); scope.done(); })(); (async () => { const scope = nock('https://api.twitter.com') .post('/oauth2/token') .reply(503, { errors: [{ message: 'test error', code: 1337, }], }); await assert.rejects(async () => { const token = await bearerToken({ consumer_key: 'test_consumer_key', consumer_secret: 'test_consumer_secret', }); }, { name: 'BearerTokenError', }); scope.done(); })();