@novo-learning/novo-sdk
Version:
SDK for the Novolanguage Speech Analysis API
56 lines (49 loc) • 1.39 kB
text/typescript
import { getBearerToken } from './request';
describe('getBearerToken', () => {
it('returns the token when authorization header is valid', () => {
const request = {
headers: {
authorization: 'Bearer abc123token',
},
};
expect(getBearerToken(request)).toBe('abc123token');
});
it('returns empty string when authorization header is missing', () => {
const request = {
headers: {},
};
expect(getBearerToken(request)).toBe('');
});
it('returns empty string when authorization header is not Bearer', () => {
const request = {
headers: {
authorization: 'Basic abc123token',
},
};
expect(getBearerToken(request)).toBe('');
});
it('returns empty string when Bearer is present but no token', () => {
const request = {
headers: {
authorization: 'Bearer',
},
};
expect(getBearerToken(request)).toBe('');
});
it('returns empty string when Bearer is followed by whitespace only', () => {
const request = {
headers: {
authorization: 'Bearer ',
},
};
expect(getBearerToken(request)).toBe('');
});
it('returns token even if extra spaces are present', () => {
const request = {
headers: {
authorization: 'Bearer tokenWithSpaces',
},
};
expect(getBearerToken(request)).toBe('tokenWithSpaces');
});
});