UNPKG

patreon

Version:
73 lines (63 loc) 2.05 kB
import test from 'tape' import { stripPreSlash, normalizeRequest, checkStatus } from '../src/utils' test('stripPreSlash', (assert) => { assert.equal(stripPreSlash('/test'), 'test', 'strips string w/slash') assert.equal(stripPreSlash('test'), 'test', 'doesn\'t strip string w/o slash') assert.end() }) test('normalizeRequest', (assert) => { assert.plan(3) const requestString = '/nested/request/query' assert.deepEqual(normalizeRequest(requestString), { url: 'https://api.patreon.com/oauth2/api/nested/request/query', method: 'GET' }, 'correctly parses nested request string') const requestObject = { url: 'url', query: 'query' } assert.deepEqual(normalizeRequest(requestObject), { url: 'https://api.patreon.com/oauth2/api/url', query: 'query' }, 'correctly parses request object with url') const requestObjectWithoutUri = { key: 'value', query: 'query' } assert.deepEqual(normalizeRequest(requestObjectWithoutUri), { url: 'https://api.patreon.com/oauth2/api/', key: 'value', query: 'query' }, 'correctly parses request object without url') }) test('checkStatus', (assert) => { assert.plan(2) const goodResponse = { status: 200, key: 'value' } checkStatus(goodResponse) .then((res) => { assert.deepEqual(res, { status: 200, key: 'value' }, 'properly formatted json should resolve the json') }) .catch((err) => { assert.fail('promise failed unexpectedly!') }) const badResponse = { status: 300, key: 'value' } checkStatus(badResponse) .then((res) => { assert.fail('promise passed unexpectedly!') }) .catch((err) => { assert.deepEqual(err, { status: 300, key: 'value' }, 'improperly formatted response should reject the json') }) })