@atlassian/bitbucket-server
Version:
Bitbucket Server API client for Browser and Node.js
42 lines (29 loc) • 1.07 kB
JavaScript
const getPage = require('../get-page')
let apiClient, data
beforeEach(() => {
apiClient = { request: jest.fn(o => Promise.resolve(o)) }
data = { next: '/test?page=2' }
})
describe('plugins:pagination/get-page', () => {
it('throws error if url does not exist', () => {
expect.assertions(2)
getPage(apiClient, data, 'prev', e => e && expect(e).toMatchSnapshot())
expect(getPage(apiClient, data, 'prev')).rejects.toMatchSnapshot()
})
it('makes request', async () => {
expect.assertions(2)
getPage(apiClient, data, 'next', () => {})
expect(apiClient.request).toBeCalledTimes(1)
await getPage(apiClient, data, 'next')
expect(apiClient.request).toBeCalledTimes(2)
})
it('invokes callback if present', () => {
expect.assertions(1)
let mockCallback = jest.fn(() => expect(mockCallback).toBeCalled())
getPage(apiClient, data, 'next', mockCallback)
})
it('returns promise if callback not present', () => {
expect.assertions(1)
expect(getPage(apiClient, data, 'next')).toBeInstanceOf(Promise)
})
})