summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlfredo Sumaran <alfredo@gitlab.com>2017-04-06 23:19:30 -0500
committerAlfredo Sumaran <alfredo@gitlab.com>2017-04-06 23:19:30 -0500
commitae62fc05e9032329aed279c859f260f1d50e1bbc (patch)
treea9bd217b0ec71772ff7a2d927f9b52f5974344b8
parent0dd3ce62885c94182b72247fdef82008b1334f12 (diff)
downloadgitlab-ce-5983-realtime-pipelines-table.tar.gz
-rw-r--r--app/assets/javascripts/merge_request_tabs.js2
-rw-r--r--spec/javascripts/merge_request_tabs_spec.js15
2 files changed, 16 insertions, 1 deletions
diff --git a/app/assets/javascripts/merge_request_tabs.js b/app/assets/javascripts/merge_request_tabs.js
index 7cb42a172af..8528e0800ae 100644
--- a/app/assets/javascripts/merge_request_tabs.js
+++ b/app/assets/javascripts/merge_request_tabs.js
@@ -90,6 +90,7 @@ import './flash';
.on('click', this.clickTab);
}
+ // Used in tests
unbindEvents() {
$(document)
.off('shown.bs.tab', '.merge-request-tabs a[data-toggle="tab"]', this.tabShown)
@@ -103,6 +104,7 @@ import './flash';
if (this.commitPipelinesTable) {
document.querySelector('#commit-pipeline-table-view')
.removeChild(this.commitPipelinesTable.$el);
+
this.commitPipelinesTable.$destroy();
}
}
diff --git a/spec/javascripts/merge_request_tabs_spec.js b/spec/javascripts/merge_request_tabs_spec.js
index 7b9632be84e..6d9cbced24d 100644
--- a/spec/javascripts/merge_request_tabs_spec.js
+++ b/spec/javascripts/merge_request_tabs_spec.js
@@ -39,7 +39,8 @@ require('vendor/jquery.scrollTo');
});
afterEach(function () {
- this.class.destroy();
+ this.class.unbindEvents();
+ this.class.destroyPipelinesView();
});
describe('#activateTab', function () {
@@ -65,6 +66,7 @@ require('vendor/jquery.scrollTo');
expect($('#diffs')).toHaveClass('active');
});
});
+
describe('#opensInNewTab', function () {
var tabUrl;
var windowTarget = '_blank';
@@ -116,6 +118,7 @@ require('vendor/jquery.scrollTo');
stopImmediatePropagation: function () {}
});
});
+
it('opens page tab in a new browser tab with Cmd+Click - Mac', function () {
spyOn(window, 'open').and.callFake(function (url, name) {
expect(url).toEqual(tabUrl);
@@ -129,6 +132,7 @@ require('vendor/jquery.scrollTo');
stopImmediatePropagation: function () {}
});
});
+
it('opens page tab in a new browser tab with Middle-click - Mac/PC', function () {
spyOn(window, 'open').and.callFake(function (url, name) {
expect(url).toEqual(tabUrl);
@@ -149,6 +153,7 @@ require('vendor/jquery.scrollTo');
spyOn($, 'ajax').and.callFake(function () {});
this.subject = this.class.setCurrentAction;
});
+
it('changes from commits', function () {
setLocation({
pathname: '/foo/bar/merge_requests/1/commits'
@@ -156,13 +161,16 @@ require('vendor/jquery.scrollTo');
expect(this.subject('notes')).toBe('/foo/bar/merge_requests/1');
expect(this.subject('diffs')).toBe('/foo/bar/merge_requests/1/diffs');
});
+
it('changes from diffs', function () {
setLocation({
pathname: '/foo/bar/merge_requests/1/diffs'
});
+
expect(this.subject('notes')).toBe('/foo/bar/merge_requests/1');
expect(this.subject('commits')).toBe('/foo/bar/merge_requests/1/commits');
});
+
it('changes from diffs.html', function () {
setLocation({
pathname: '/foo/bar/merge_requests/1/diffs.html'
@@ -170,6 +178,7 @@ require('vendor/jquery.scrollTo');
expect(this.subject('notes')).toBe('/foo/bar/merge_requests/1');
expect(this.subject('commits')).toBe('/foo/bar/merge_requests/1/commits');
});
+
it('changes from notes', function () {
setLocation({
pathname: '/foo/bar/merge_requests/1'
@@ -177,6 +186,7 @@ require('vendor/jquery.scrollTo');
expect(this.subject('diffs')).toBe('/foo/bar/merge_requests/1/diffs');
expect(this.subject('commits')).toBe('/foo/bar/merge_requests/1/commits');
});
+
it('includes search parameters and hash string', function () {
setLocation({
pathname: '/foo/bar/merge_requests/1/diffs',
@@ -185,6 +195,7 @@ require('vendor/jquery.scrollTo');
});
expect(this.subject('show')).toBe('/foo/bar/merge_requests/1?view=parallel#L15-35');
});
+
it('replaces the current history state', function () {
var newState;
setLocation({
@@ -197,6 +208,7 @@ require('vendor/jquery.scrollTo');
}, document.title, newState);
}
});
+
it('treats "show" like "notes"', function () {
setLocation({
pathname: '/foo/bar/merge_requests/1/commits'
@@ -207,6 +219,7 @@ require('vendor/jquery.scrollTo');
describe('#tabShown', () => {
beforeEach(function () {
+ spyOn($, 'ajax').and.callFake(function () {});
loadFixtures('merge_requests/merge_request_with_task_list.html.raw');
});