mirror of
https://github.com/elyby/accounts-frontend.git
synced 2024-11-10 01:52:04 +05:30
38 lines
963 B
TypeScript
38 lines
963 B
TypeScript
import expect from 'app/test/unexpected';
|
|
import sinon from 'sinon';
|
|
import request from 'app/services/request';
|
|
import options from './options';
|
|
|
|
describe('services/api/options', () => {
|
|
const expectedResp = { foo: 'bar' };
|
|
|
|
beforeEach(() => {
|
|
sinon
|
|
.stub(request, 'get')
|
|
.named('request.get')
|
|
.returns(Promise.resolve(expectedResp));
|
|
});
|
|
|
|
afterEach(() => {
|
|
(request.get as any).restore();
|
|
});
|
|
|
|
it('should request options without token', () =>
|
|
options.get().then(resp => {
|
|
expect(resp, 'to be', expectedResp);
|
|
expect(request.get, 'to have a call satisfying', [
|
|
'/api/options',
|
|
{},
|
|
{ token: null },
|
|
]);
|
|
}));
|
|
|
|
it('should cache options', () =>
|
|
// NOTE: this is bad practice, but we are relying on the state from
|
|
// the previous test
|
|
options.get().then(resp => {
|
|
expect(resp, 'to be', expectedResp);
|
|
expect(request.get, 'was not called');
|
|
}));
|
|
});
|