mirror of
https://github.com/sasjs/adapter.git
synced 2026-01-17 09:00:06 +00:00
chore(root-folder-not-found): add test
This commit is contained in:
51
src/SASViyaApiClient.spec.ts
Normal file
51
src/SASViyaApiClient.spec.ts
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
import { Logger, LogLevel } from '@sasjs/utils/logger'
|
||||||
|
import { RequestClient } from './request/RequestClient'
|
||||||
|
import { SASViyaApiClient } from './SASViyaApiClient'
|
||||||
|
import { Folder } from './types'
|
||||||
|
import { RootFolderNotFoundError } from './types/errors'
|
||||||
|
|
||||||
|
const mockFolder: Folder = {
|
||||||
|
id: '1',
|
||||||
|
uri: '/folder',
|
||||||
|
links: [],
|
||||||
|
memberCount: 1
|
||||||
|
}
|
||||||
|
|
||||||
|
const requestClient = new (<jest.Mock<RequestClient>>RequestClient)()
|
||||||
|
const sasViyaApiClient = new SASViyaApiClient(
|
||||||
|
'https://test.com',
|
||||||
|
'/test',
|
||||||
|
'test context',
|
||||||
|
requestClient
|
||||||
|
)
|
||||||
|
|
||||||
|
describe('SASViyaApiClient', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
;(process as any).logger = new Logger(LogLevel.Off)
|
||||||
|
setupMocks()
|
||||||
|
})
|
||||||
|
|
||||||
|
it('should throw an error when the root folder is not found on the server', async () => {
|
||||||
|
jest
|
||||||
|
.spyOn(requestClient, 'get')
|
||||||
|
.mockImplementation(() => Promise.reject('Not Found'))
|
||||||
|
const error = await sasViyaApiClient
|
||||||
|
.createFolder('test', '/foo')
|
||||||
|
.catch((e) => e)
|
||||||
|
expect(error).toBeInstanceOf(RootFolderNotFoundError)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
const setupMocks = () => {
|
||||||
|
jest
|
||||||
|
.spyOn(requestClient, 'get')
|
||||||
|
.mockImplementation(() =>
|
||||||
|
Promise.resolve({ result: mockFolder, etag: '', status: 200 })
|
||||||
|
)
|
||||||
|
|
||||||
|
jest
|
||||||
|
.spyOn(requestClient, 'post')
|
||||||
|
.mockImplementation(() =>
|
||||||
|
Promise.resolve({ result: mockFolder, etag: '', status: 200 })
|
||||||
|
)
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user