Commit 3380ee71 authored by Eric Eastwood's avatar Eric Eastwood

Fix container issue when switching parallel "Changes" MR tab before done loading

Fix https://gitlab.com/gitlab-org/gitlab-ce/issues/29193
parent ca6a7f1e
...@@ -13,10 +13,6 @@ class Diff { ...@@ -13,10 +13,6 @@ class Diff {
$diffFile.each((index, file) => new gl.ImageFile(file)); $diffFile.each((index, file) => new gl.ImageFile(file));
if (this.diffViewType() === 'parallel') {
$('.content-wrapper .container-fluid').removeClass('container-limited');
}
if (!isBound) { if (!isBound) {
$(document) $(document)
.on('click', '.js-unfold', this.handleClickUnfold.bind(this)) .on('click', '.js-unfold', this.handleClickUnfold.bind(this))
......
...@@ -3,6 +3,9 @@ ...@@ -3,6 +3,9 @@
require('~/merge_request_tabs'); require('~/merge_request_tabs');
require('~/breakpoints'); require('~/breakpoints');
require('~/lib/utils/common_utils'); require('~/lib/utils/common_utils');
require('~/diff');
require('~/single_file_diff');
require('~/files_comment_button');
require('vendor/jquery.scrollTo'); require('vendor/jquery.scrollTo');
(function () { (function () {
...@@ -213,6 +216,10 @@ require('vendor/jquery.scrollTo'); ...@@ -213,6 +216,10 @@ require('vendor/jquery.scrollTo');
describe('with "Side-by-side"/parallel diff view', () => { describe('with "Side-by-side"/parallel diff view', () => {
beforeEach(function () { beforeEach(function () {
this.class.diffViewType = () => 'parallel'; this.class.diffViewType = () => 'parallel';
gl.Diff.prototype.diffViewType = () => 'parallel';
spyOn($, 'ajax').and.callFake(function (options) {
options.success({ html: '' });
});
}); });
it('maintains `container-limited` for pipelines tab', function (done) { it('maintains `container-limited` for pipelines tab', function (done) {
...@@ -224,7 +231,6 @@ require('vendor/jquery.scrollTo'); ...@@ -224,7 +231,6 @@ require('vendor/jquery.scrollTo');
}); });
}); });
}; };
asyncClick('.merge-request-tabs .pipelines-tab a') asyncClick('.merge-request-tabs .pipelines-tab a')
.then(() => asyncClick('.merge-request-tabs .diffs-tab a')) .then(() => asyncClick('.merge-request-tabs .diffs-tab a'))
.then(() => asyncClick('.merge-request-tabs .pipelines-tab a')) .then(() => asyncClick('.merge-request-tabs .pipelines-tab a'))
...@@ -237,6 +243,28 @@ require('vendor/jquery.scrollTo'); ...@@ -237,6 +243,28 @@ require('vendor/jquery.scrollTo');
done.fail(`Something went wrong clicking MR tabs: ${err.message}\n${err.stack}`); done.fail(`Something went wrong clicking MR tabs: ${err.message}\n${err.stack}`);
}); });
}); });
it('maintains `container-limited` when switching from "Changes" tab before it loads', function (done) {
const asyncClick = function (selector) {
return new Promise((resolve) => {
setTimeout(() => {
document.querySelector(selector).click();
resolve();
});
});
};
asyncClick('.merge-request-tabs .diffs-tab a')
.then(() => asyncClick('.merge-request-tabs .notes-tab a'))
.then(() => {
const hasContainerLimitedClass = document.querySelector('.content-wrapper .container-fluid').classList.contains('container-limited');
expect(hasContainerLimitedClass).toBe(true);
})
.then(done)
.catch((err) => {
done.fail(`Something went wrong clicking MR tabs: ${err.message}\n${err.stack}`);
});
});
}); });
}); });
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment