64 lines
2.2 KiB
JavaScript
64 lines
2.2 KiB
JavaScript
|
import PerformanceBarService from '~/performance_bar/services/performance_bar_service';
|
||
|
|
||
|
describe('PerformanceBarService', () => {
|
||
|
describe('callbackParams', () => {
|
||
|
describe('fireCallback', () => {
|
||
|
function fireCallback(response, peekUrl) {
|
||
|
return PerformanceBarService.callbackParams(response, peekUrl)[0];
|
||
|
}
|
||
|
|
||
|
it('returns false when the request URL is the peek URL', () => {
|
||
|
expect(fireCallback({ headers: { 'x-request-id': '123' }, url: '/peek' }, '/peek'))
|
||
|
.toBeFalsy();
|
||
|
});
|
||
|
|
||
|
it('returns false when there is no request ID', () => {
|
||
|
expect(fireCallback({ headers: {}, url: '/request' }, '/peek'))
|
||
|
.toBeFalsy();
|
||
|
});
|
||
|
|
||
|
it('returns false when the request is an API request', () => {
|
||
|
expect(fireCallback({ headers: { 'x-request-id': '123' }, url: '/api/' }, '/peek'))
|
||
|
.toBeFalsy();
|
||
|
});
|
||
|
|
||
|
it('returns false when the response is from the cache', () => {
|
||
|
expect(fireCallback({ headers: { 'x-request-id': '123', 'x-gitlab-from-cache': 'true' }, url: '/request' }, '/peek'))
|
||
|
.toBeFalsy();
|
||
|
});
|
||
|
|
||
|
it('returns true when all conditions are met', () => {
|
||
|
expect(fireCallback({ headers: { 'x-request-id': '123' }, url: '/request' }, '/peek'))
|
||
|
.toBeTruthy();
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe('requestId', () => {
|
||
|
function requestId(response, peekUrl) {
|
||
|
return PerformanceBarService.callbackParams(response, peekUrl)[1];
|
||
|
}
|
||
|
|
||
|
it('gets the request ID from the headers', () => {
|
||
|
expect(requestId({ headers: { 'x-request-id': '123' } }, '/peek'))
|
||
|
.toEqual('123');
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe('requestUrl', () => {
|
||
|
function requestUrl(response, peekUrl) {
|
||
|
return PerformanceBarService.callbackParams(response, peekUrl)[2];
|
||
|
}
|
||
|
|
||
|
it('gets the request URL from the response object', () => {
|
||
|
expect(requestUrl({ headers: {}, url: '/request' }, '/peek'))
|
||
|
.toEqual('/request');
|
||
|
});
|
||
|
|
||
|
it('gets the request URL from response.config if present', () => {
|
||
|
expect(requestUrl({ headers: {}, config: { url: '/config-url' }, url: '/request' }, '/peek'))
|
||
|
.toEqual('/config-url');
|
||
|
});
|
||
|
});
|
||
|
});
|
||
|
});
|