summaryrefslogtreecommitdiff
path: root/spec/javascripts/vue_shared
diff options
context:
space:
mode:
authorLuke "Jared" Bennett <lbennett@gitlab.com>2017-11-01 01:16:29 +0000
committerLuke "Jared" Bennett <lbennett@gitlab.com>2017-11-01 01:16:29 +0000
commitaf13ffbcedd8952433d4d3f6693aac3450c5fa6f (patch)
tree41d41b187f3ac1a47b909fef250664d158ffd04e /spec/javascripts/vue_shared
parent9c3f094a2f7609386ed182e4d5f6f9e7f6938388 (diff)
downloadgitlab-ce-af13ffbcedd8952433d4d3f6693aac3450c5fa6f.tar.gz
Dont emit toggle-markdown event if current target is already active and add specs
Diffstat (limited to 'spec/javascripts/vue_shared')
-rw-r--r--spec/javascripts/vue_shared/components/markdown/field_spec.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/spec/javascripts/vue_shared/components/markdown/field_spec.js b/spec/javascripts/vue_shared/components/markdown/field_spec.js
index 60a5c2ae74e..734266d0ebb 100644
--- a/spec/javascripts/vue_shared/components/markdown/field_spec.js
+++ b/spec/javascripts/vue_shared/components/markdown/field_spec.js
@@ -39,6 +39,7 @@ describe('Markdown field component', () => {
describe('markdown preview', () => {
let previewLink;
+ let writeLink;
beforeEach(() => {
spyOn(Vue.http, 'post').and.callFake(() => new Promise((resolve) => {
@@ -52,6 +53,7 @@ describe('Markdown field component', () => {
}));
previewLink = vm.$el.querySelector('.nav-links li:nth-child(2) a');
+ writeLink = vm.$el.querySelector('.nav-links li:nth-child(1) a');
});
it('sets preview link as active', (done) => {
@@ -103,6 +105,40 @@ describe('Markdown field component', () => {
done();
}, 0);
});
+
+ function assertLinks(isWrite) {
+ expect(writeLink.parentNode.classList.contains('active')).toEqual(isWrite);
+ expect(previewLink.parentNode.classList.contains('active')).toEqual(!isWrite);
+ expect(vm.$el.querySelector('.md-preview').style.display).toEqual(isWrite ? 'none' : '');
+ }
+
+ it('clicking already active write or preview link does nothing', (done) => {
+ writeLink.click();
+
+ setTimeout(() => {
+ assertLinks(true);
+
+ writeLink.click();
+
+ setTimeout(() => {
+ assertLinks(true);
+
+ previewLink.click();
+
+ setTimeout(() => {
+ assertLinks(false);
+
+ previewLink.click();
+
+ setTimeout(() => {
+ assertLinks(false);
+
+ done();
+ });
+ });
+ });
+ });
+ });
});
describe('markdown buttons', () => {