summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke "Jared" Bennett <lbennett@gitlab.com>2017-04-14 21:09:16 +0100
committerLuke "Jared" Bennett <lbennett@gitlab.com>2017-04-14 21:09:16 +0100
commit067361327bba0cb7a8b28190485699da7deb22bb (patch)
tree094f931acfe02f3cefaf454298b8b1a263f2a8b2
parent13b60eb75b99abb23f41c0d899d6e40eefa641cc (diff)
downloadgitlab-ce-067361327bba0cb7a8b28190485699da7deb22bb.tar.gz
Updated units
-rw-r--r--app/assets/javascripts/raven/index.js16
-rw-r--r--app/assets/javascripts/raven/raven_config.js4
-rw-r--r--spec/javascripts/raven/index_spec.js6
-rw-r--r--spec/javascripts/raven/raven_config_spec.js154
4 files changed, 96 insertions, 84 deletions
diff --git a/app/assets/javascripts/raven/index.js b/app/assets/javascripts/raven/index.js
index 373f9f29c79..3c5656040b9 100644
--- a/app/assets/javascripts/raven/index.js
+++ b/app/assets/javascripts/raven/index.js
@@ -1,11 +1,15 @@
import RavenConfig from './raven_config';
-const index = RavenConfig.init.bind(RavenConfig, {
- sentryDsn: gon.sentry_dsn,
- currentUserId: gon.current_user_id,
- whitelistUrls: [gon.gitlab_url],
- isProduction: gon.is_production,
-});
+const index = function index() {
+ RavenConfig.init({
+ sentryDsn: gon.sentry_dsn,
+ currentUserId: gon.current_user_id,
+ whitelistUrls: [gon.gitlab_url],
+ isProduction: gon.is_production,
+ });
+
+ return RavenConfig;
+};
index();
diff --git a/app/assets/javascripts/raven/raven_config.js b/app/assets/javascripts/raven/raven_config.js
index 1157a10d96f..bb9be7cb196 100644
--- a/app/assets/javascripts/raven/raven_config.js
+++ b/app/assets/javascripts/raven/raven_config.js
@@ -8,8 +8,6 @@ const RavenConfig = {
this.configure();
this.bindRavenErrors();
if (this.options.currentUserId) this.setUser();
-
- return this;
},
configure() {
@@ -44,6 +42,6 @@ const RavenConfig = {
},
});
},
-}
+};
export default RavenConfig;
diff --git a/spec/javascripts/raven/index_spec.js b/spec/javascripts/raven/index_spec.js
index efde37b1f8e..85ec1de4e4e 100644
--- a/spec/javascripts/raven/index_spec.js
+++ b/spec/javascripts/raven/index_spec.js
@@ -1,7 +1,7 @@
import RavenConfig from '~/raven/raven_config';
import index from '~/raven/index';
-fdescribe('RavenConfig options', () => {
+describe('RavenConfig options', () => {
let sentryDsn;
let currentUserId;
let gitlabUrl;
@@ -21,13 +21,13 @@ fdescribe('RavenConfig options', () => {
is_production: isProduction,
};
- spyOn(RavenConfig.init, 'bind');
+ spyOn(RavenConfig, 'init');
indexReturnValue = index();
});
it('should init with .sentryDsn, .currentUserId, .whitelistUrls and .isProduction', () => {
- expect(RavenConfig.init.bind).toHaveBeenCalledWith(RavenConfig, {
+ expect(RavenConfig.init).toHaveBeenCalledWith({
sentryDsn,
currentUserId,
whitelistUrls: [gitlabUrl],
diff --git a/spec/javascripts/raven/raven_config_spec.js b/spec/javascripts/raven/raven_config_spec.js
index 64cf63702bc..3885cfde6bf 100644
--- a/spec/javascripts/raven/raven_config_spec.js
+++ b/spec/javascripts/raven/raven_config_spec.js
@@ -1,47 +1,46 @@
+import $ from 'jquery';
import Raven from 'raven-js';
import RavenConfig from '~/raven/raven_config';
-describe('RavenConfig', () => {
+fdescribe('RavenConfig', () => {
describe('init', () => {
+ let options;
+
beforeEach(() => {
+ options = {
+ sentryDsn: '//sentryDsn',
+ ravenAssetUrl: '//ravenAssetUrl',
+ currentUserId: 1,
+ whitelistUrls: ['//gitlabUrl'],
+ isProduction: true,
+ };
+
spyOn(RavenConfig, 'configure');
spyOn(RavenConfig, 'bindRavenErrors');
spyOn(RavenConfig, 'setUser');
- });
-
- describe('when called', () => {
- let options;
- beforeEach(() => {
- options = {
- sentryDsn: '//sentryDsn',
- ravenAssetUrl: '//ravenAssetUrl',
- currentUserId: 1,
- whitelistUrls: ['//gitlabUrl'],
- isProduction: true,
- };
-
- RavenConfig.init(options);
- });
+ RavenConfig.init(options);
+ });
- it('should set the options property', () => {
- expect(RavenConfig.options).toEqual(options);
- });
+ it('should set the options property', () => {
+ expect(RavenConfig.options).toEqual(options);
+ });
- it('should call the configure method', () => {
- expect(RavenConfig.configure).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 the error bindings method', () => {
+ expect(RavenConfig.bindRavenErrors).toHaveBeenCalled();
+ });
- it('should call setUser', () => {
- expect(RavenConfig.setUser).toHaveBeenCalled();
- });
+ it('should call setUser', () => {
+ expect(RavenConfig.setUser).toHaveBeenCalled();
});
it('should not call setUser if there is no current user ID', () => {
+ RavenConfig.setUser.calls.reset();
+
RavenConfig.init({
sentryDsn: '//sentryDsn',
ravenAssetUrl: '//ravenAssetUrl',
@@ -55,72 +54,83 @@ describe('RavenConfig', () => {
});
describe('configure', () => {
- describe('when called', () => {
- let options;
- let raven;
+ let options;
+ let raven;
- beforeEach(() => {
- options = {
- sentryDsn: '//sentryDsn',
- whitelistUrls: ['//gitlabUrl'],
- isProduction: true,
- };
+ beforeEach(() => {
+ options = {
+ sentryDsn: '//sentryDsn',
+ whitelistUrls: ['//gitlabUrl'],
+ isProduction: true,
+ };
- raven = jasmine.createSpyObj('raven', ['install']);
+ raven = jasmine.createSpyObj('raven', ['install']);
- spyOn(Raven, 'config').and.returnValue(raven);
- spyOn(Raven, 'install');
+ spyOn(Raven, 'config').and.returnValue(raven);
- RavenConfig.configure.call({
- options,
- });
+ RavenConfig.configure.call({
+ options,
});
+ });
- it('should call Raven.config', () => {
- expect(Raven.config).toHaveBeenCalledWith(options.sentryDsn, {
- whitelistUrls: options.whitelistUrls,
- environment: 'production',
- });
+ 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 call Raven.install', () => {
+ expect(raven.install).toHaveBeenCalled();
+ });
+
+ it('should set .environment to development if isProduction is false', () => {
+ options.isProduction = false;
+
+ RavenConfig.configure.call({
+ options,
});
- 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',
- });
- });
+ expect(Raven.config).toHaveBeenCalledWith(options.sentryDsn, {
+ whitelistUrls: options.whitelistUrls,
+ environment: 'development',
});
});
});
describe('setUser', () => {
- describe('when called', () => {
- beforeEach(() => {});
+ let ravenConfig;
+
+ 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('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('when called', () => {
- beforeEach(() => {});
- });
+ beforeEach(() => {});
});
});