Updated units
This commit is contained in:
parent
13b60eb75b
commit
067361327b
4 changed files with 100 additions and 88 deletions
|
@ -1,11 +1,15 @@
|
||||||
import RavenConfig from './raven_config';
|
import RavenConfig from './raven_config';
|
||||||
|
|
||||||
const index = RavenConfig.init.bind(RavenConfig, {
|
const index = function index() {
|
||||||
sentryDsn: gon.sentry_dsn,
|
RavenConfig.init({
|
||||||
currentUserId: gon.current_user_id,
|
sentryDsn: gon.sentry_dsn,
|
||||||
whitelistUrls: [gon.gitlab_url],
|
currentUserId: gon.current_user_id,
|
||||||
isProduction: gon.is_production,
|
whitelistUrls: [gon.gitlab_url],
|
||||||
});
|
isProduction: gon.is_production,
|
||||||
|
});
|
||||||
|
|
||||||
|
return RavenConfig;
|
||||||
|
};
|
||||||
|
|
||||||
index();
|
index();
|
||||||
|
|
||||||
|
|
|
@ -8,8 +8,6 @@ const RavenConfig = {
|
||||||
this.configure();
|
this.configure();
|
||||||
this.bindRavenErrors();
|
this.bindRavenErrors();
|
||||||
if (this.options.currentUserId) this.setUser();
|
if (this.options.currentUserId) this.setUser();
|
||||||
|
|
||||||
return this;
|
|
||||||
},
|
},
|
||||||
|
|
||||||
configure() {
|
configure() {
|
||||||
|
@ -44,6 +42,6 @@ const RavenConfig = {
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
}
|
};
|
||||||
|
|
||||||
export default RavenConfig;
|
export default RavenConfig;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import RavenConfig from '~/raven/raven_config';
|
import RavenConfig from '~/raven/raven_config';
|
||||||
import index from '~/raven/index';
|
import index from '~/raven/index';
|
||||||
|
|
||||||
fdescribe('RavenConfig options', () => {
|
describe('RavenConfig options', () => {
|
||||||
let sentryDsn;
|
let sentryDsn;
|
||||||
let currentUserId;
|
let currentUserId;
|
||||||
let gitlabUrl;
|
let gitlabUrl;
|
||||||
|
@ -21,13 +21,13 @@ fdescribe('RavenConfig options', () => {
|
||||||
is_production: isProduction,
|
is_production: isProduction,
|
||||||
};
|
};
|
||||||
|
|
||||||
spyOn(RavenConfig.init, 'bind');
|
spyOn(RavenConfig, 'init');
|
||||||
|
|
||||||
indexReturnValue = index();
|
indexReturnValue = index();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should init with .sentryDsn, .currentUserId, .whitelistUrls and .isProduction', () => {
|
it('should init with .sentryDsn, .currentUserId, .whitelistUrls and .isProduction', () => {
|
||||||
expect(RavenConfig.init.bind).toHaveBeenCalledWith(RavenConfig, {
|
expect(RavenConfig.init).toHaveBeenCalledWith({
|
||||||
sentryDsn,
|
sentryDsn,
|
||||||
currentUserId,
|
currentUserId,
|
||||||
whitelistUrls: [gitlabUrl],
|
whitelistUrls: [gitlabUrl],
|
||||||
|
|
|
@ -1,47 +1,46 @@
|
||||||
|
import $ from 'jquery';
|
||||||
import Raven from 'raven-js';
|
import Raven from 'raven-js';
|
||||||
import RavenConfig from '~/raven/raven_config';
|
import RavenConfig from '~/raven/raven_config';
|
||||||
|
|
||||||
describe('RavenConfig', () => {
|
fdescribe('RavenConfig', () => {
|
||||||
describe('init', () => {
|
describe('init', () => {
|
||||||
|
let options;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
|
options = {
|
||||||
|
sentryDsn: '//sentryDsn',
|
||||||
|
ravenAssetUrl: '//ravenAssetUrl',
|
||||||
|
currentUserId: 1,
|
||||||
|
whitelistUrls: ['//gitlabUrl'],
|
||||||
|
isProduction: true,
|
||||||
|
};
|
||||||
|
|
||||||
spyOn(RavenConfig, 'configure');
|
spyOn(RavenConfig, 'configure');
|
||||||
spyOn(RavenConfig, 'bindRavenErrors');
|
spyOn(RavenConfig, 'bindRavenErrors');
|
||||||
spyOn(RavenConfig, 'setUser');
|
spyOn(RavenConfig, 'setUser');
|
||||||
|
|
||||||
|
RavenConfig.init(options);
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('when called', () => {
|
it('should set the options property', () => {
|
||||||
let options;
|
expect(RavenConfig.options).toEqual(options);
|
||||||
|
});
|
||||||
|
|
||||||
beforeEach(() => {
|
it('should call the configure method', () => {
|
||||||
options = {
|
expect(RavenConfig.configure).toHaveBeenCalled();
|
||||||
sentryDsn: '//sentryDsn',
|
});
|
||||||
ravenAssetUrl: '//ravenAssetUrl',
|
|
||||||
currentUserId: 1,
|
|
||||||
whitelistUrls: ['//gitlabUrl'],
|
|
||||||
isProduction: true,
|
|
||||||
};
|
|
||||||
|
|
||||||
RavenConfig.init(options);
|
it('should call the error bindings method', () => {
|
||||||
});
|
expect(RavenConfig.bindRavenErrors).toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
|
||||||
it('should set the options property', () => {
|
it('should call setUser', () => {
|
||||||
expect(RavenConfig.options).toEqual(options);
|
expect(RavenConfig.setUser).toHaveBeenCalled();
|
||||||
});
|
|
||||||
|
|
||||||
it('should call the configure method', () => {
|
|
||||||
expect(RavenConfig.configure).toHaveBeenCalled();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should call the error bindings method', () => {
|
|
||||||
expect(RavenConfig.bindRavenErrors).toHaveBeenCalled();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should call setUser', () => {
|
|
||||||
expect(RavenConfig.setUser).toHaveBeenCalled();
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should not call setUser if there is no current user ID', () => {
|
it('should not call setUser if there is no current user ID', () => {
|
||||||
|
RavenConfig.setUser.calls.reset();
|
||||||
|
|
||||||
RavenConfig.init({
|
RavenConfig.init({
|
||||||
sentryDsn: '//sentryDsn',
|
sentryDsn: '//sentryDsn',
|
||||||
ravenAssetUrl: '//ravenAssetUrl',
|
ravenAssetUrl: '//ravenAssetUrl',
|
||||||
|
@ -55,72 +54,83 @@ describe('RavenConfig', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('configure', () => {
|
describe('configure', () => {
|
||||||
describe('when called', () => {
|
let options;
|
||||||
let options;
|
let raven;
|
||||||
let raven;
|
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
options = {
|
options = {
|
||||||
sentryDsn: '//sentryDsn',
|
sentryDsn: '//sentryDsn',
|
||||||
whitelistUrls: ['//gitlabUrl'],
|
whitelistUrls: ['//gitlabUrl'],
|
||||||
isProduction: true,
|
isProduction: true,
|
||||||
};
|
};
|
||||||
|
|
||||||
raven = jasmine.createSpyObj('raven', ['install']);
|
raven = jasmine.createSpyObj('raven', ['install']);
|
||||||
|
|
||||||
spyOn(Raven, 'config').and.returnValue(raven);
|
spyOn(Raven, 'config').and.returnValue(raven);
|
||||||
spyOn(Raven, 'install');
|
|
||||||
|
|
||||||
RavenConfig.configure.call({
|
RavenConfig.configure.call({
|
||||||
options,
|
options,
|
||||||
});
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should call Raven.config', () => {
|
||||||
|
expect(Raven.config).toHaveBeenCalledWith(options.sentryDsn, {
|
||||||
|
whitelistUrls: options.whitelistUrls,
|
||||||
|
environment: 'production',
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should call Raven.install', () => {
|
||||||
|
expect(raven.install).toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should set .environment to development if isProduction is false', () => {
|
||||||
|
options.isProduction = false;
|
||||||
|
|
||||||
|
RavenConfig.configure.call({
|
||||||
|
options,
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should call Raven.config', () => {
|
expect(Raven.config).toHaveBeenCalledWith(options.sentryDsn, {
|
||||||
expect(Raven.config).toHaveBeenCalledWith(options.sentryDsn, {
|
whitelistUrls: options.whitelistUrls,
|
||||||
whitelistUrls: options.whitelistUrls,
|
environment: 'development',
|
||||||
environment: 'production',
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should call Raven.install', () => {
|
|
||||||
expect(Raven.install).toHaveBeenCalled();
|
|
||||||
});
|
|
||||||
|
|
||||||
describe('if isProduction is false', () => {
|
|
||||||
beforeEach(() => {
|
|
||||||
options.isProduction = false;
|
|
||||||
|
|
||||||
RavenConfig.configure.call({
|
|
||||||
options,
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should set .environment to development', () => {
|
|
||||||
expect(Raven.config).toHaveBeenCalledWith(options.sentryDsn, {
|
|
||||||
whitelistUrls: options.whitelistUrls,
|
|
||||||
environment: 'development',
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('setUser', () => {
|
describe('setUser', () => {
|
||||||
describe('when called', () => {
|
let ravenConfig;
|
||||||
beforeEach(() => {});
|
|
||||||
|
beforeEach(() => {
|
||||||
|
ravenConfig = { options: { currentUserId: 1 } };
|
||||||
|
spyOn(Raven, 'setUserContext');
|
||||||
|
|
||||||
|
RavenConfig.setUser.call(ravenConfig);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should call .setUserContext', function () {
|
||||||
|
expect(Raven.setUserContext).toHaveBeenCalledWith({
|
||||||
|
id: ravenConfig.options.currentUserId,
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('bindRavenErrors', () => {
|
describe('bindRavenErrors', () => {
|
||||||
describe('when called', () => {
|
beforeEach(() => {
|
||||||
beforeEach(() => {});
|
RavenConfig.bindRavenErrors();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should query for document using jquery', () => {
|
||||||
|
console.log($, 'or', $.fn);
|
||||||
|
// expect($).toHaveBeenCalledWith()
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should call .on', function () {
|
||||||
|
// expect($document.on).toHaveBeenCalledWith('ajaxError.raven', RavenConfig.handleRavenErrors);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('handleRavenErrors', () => {
|
describe('handleRavenErrors', () => {
|
||||||
describe('when called', () => {
|
beforeEach(() => {});
|
||||||
beforeEach(() => {});
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue