diff options
author | Phil Hughes <me@iamphill.com> | 2018-01-19 11:49:24 +0300 |
---|---|---|
committer | Phil Hughes <me@iamphill.com> | 2018-01-19 11:49:24 +0300 |
commit | 28bd902980f38158153e386d53cafa2157313f6d (patch) | |
tree | dba4e964e1bc72eafbfe842c26b009de233c27aa /spec | |
parent | 812413863bec3b1f5f3fcf8a8b71906fe5ca2949 (diff) | |
parent | 0731ff79b859aa6ac0f2473b4fb6a4fe7c616b69 (diff) |
Merge branch 'fix-description-loss' into 'master'
Add confirm when navigating away from page
Closes #42102
See merge request gitlab-org/gitlab-ce!16518
Diffstat (limited to 'spec')
-rw-r--r-- | spec/javascripts/issue_show/components/app_spec.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/spec/javascripts/issue_show/components/app_spec.js b/spec/javascripts/issue_show/components/app_spec.js index 1454ca52018..9280db072b3 100644 --- a/spec/javascripts/issue_show/components/app_spec.js +++ b/spec/javascripts/issue_show/components/app_spec.js @@ -218,6 +218,39 @@ describe('Issuable output', () => { }); }); + describe('shows dialog when issue has unsaved changed', () => { + it('confirms on title change', (done) => { + vm.showForm = true; + vm.state.titleText = 'title has changed'; + const e = { returnValue: null }; + vm.handleBeforeUnloadEvent(e); + Vue.nextTick(() => { + expect(e.returnValue).not.toBeNull(); + done(); + }); + }); + + it('confirms on description change', (done) => { + vm.showForm = true; + vm.state.descriptionText = 'description has changed'; + const e = { returnValue: null }; + vm.handleBeforeUnloadEvent(e); + Vue.nextTick(() => { + expect(e.returnValue).not.toBeNull(); + done(); + }); + }); + + it('does nothing when nothing has changed', (done) => { + const e = { returnValue: null }; + vm.handleBeforeUnloadEvent(e); + Vue.nextTick(() => { + expect(e.returnValue).toBeNull(); + done(); + }); + }); + }); + describe('error when updating', () => { beforeEach(() => { spyOn(window, 'Flash').and.callThrough(); |