mirror of
https://github.com/sasjs/adapter.git
synced 2026-01-17 17:10:05 +00:00
test(session): cover case when could not get session state
This commit is contained in:
@@ -1,7 +1,9 @@
|
|||||||
import { SessionManager } from '../SessionManager'
|
import { SessionManager } from '../SessionManager'
|
||||||
import * as dotenv from 'dotenv'
|
|
||||||
import { RequestClient } from '../request/RequestClient'
|
import { RequestClient } from '../request/RequestClient'
|
||||||
|
import { NoSessionStateError } from '../types/errors'
|
||||||
|
import * as dotenv from 'dotenv'
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
|
|
||||||
jest.mock('axios')
|
jest.mock('axios')
|
||||||
const mockedAxios = axios as jest.Mocked<typeof axios>
|
const mockedAxios = axios as jest.Mocked<typeof axios>
|
||||||
|
|
||||||
@@ -43,4 +45,38 @@ describe('SessionManager', () => {
|
|||||||
).resolves.toEqual(expectedResponse)
|
).resolves.toEqual(expectedResponse)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
describe('waitForSession', () => {
|
||||||
|
it('should reject with NoSessionStateError if SAS server did not provide session state', async () => {
|
||||||
|
const responseStatus = 304
|
||||||
|
|
||||||
|
mockedAxios.get.mockImplementation(() =>
|
||||||
|
Promise.resolve({ data: '', status: responseStatus })
|
||||||
|
)
|
||||||
|
|
||||||
|
await expect(
|
||||||
|
sessionManager['waitForSession'](
|
||||||
|
{
|
||||||
|
id: 'id',
|
||||||
|
state: '',
|
||||||
|
links: [
|
||||||
|
{ rel: 'state', href: '', uri: '', type: '', method: 'GET' }
|
||||||
|
],
|
||||||
|
attributes: {
|
||||||
|
sessionInactiveTimeout: 0
|
||||||
|
},
|
||||||
|
creationTimeStamp: ''
|
||||||
|
},
|
||||||
|
null,
|
||||||
|
'access_token'
|
||||||
|
)
|
||||||
|
).rejects.toEqual(
|
||||||
|
new NoSessionStateError(
|
||||||
|
responseStatus,
|
||||||
|
process.env.SERVER_URL as string,
|
||||||
|
'logUrl'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
})
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user