diff options
author | Phil Hughes <me@iamphill.com> | 2018-07-26 16:50:06 +0300 |
---|---|---|
committer | Phil Hughes <me@iamphill.com> | 2018-07-26 16:50:06 +0300 |
commit | 4154477ca7cb00331ce2ead943debe158ebb5f25 (patch) | |
tree | 8b0df9ffeb98b83169830f33c2f6c08307db1334 /spec/javascripts | |
parent | 8873840839811948b2f29175177b91bcf806a3f8 (diff) |
Warn in IDE when user navigates away with staged changes
Diffstat (limited to 'spec/javascripts')
-rw-r--r-- | spec/javascripts/ide/components/ide_spec.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/spec/javascripts/ide/components/ide_spec.js b/spec/javascripts/ide/components/ide_spec.js index 708c9fe69af..49b8e934cdd 100644 --- a/spec/javascripts/ide/components/ide_spec.js +++ b/spec/javascripts/ide/components/ide_spec.js @@ -45,6 +45,33 @@ describe('ide component', () => { }); }); + describe('onBeforeUnload', () => { + it('returns undefined when no staged files or changed files', () => { + expect(vm.onBeforeUnload()).toBe(undefined); + }); + + it('returns warning text when their are changed files', () => { + vm.$store.state.changedFiles.push(file()); + + expect(vm.onBeforeUnload()).toBe('Are you sure you want to lose unsaved changes?'); + }); + + it('returns warning text when their are staged files', () => { + vm.$store.state.stagedFiles.push(file()); + + expect(vm.onBeforeUnload()).toBe('Are you sure you want to lose unsaved changes?'); + }); + + it('updates event object', () => { + const event = {}; + vm.$store.state.stagedFiles.push(file()); + + vm.onBeforeUnload(event); + + expect(event.returnValue).toBe('Are you sure you want to lose unsaved changes?'); + }); + }); + describe('file finder', () => { beforeEach(done => { spyOn(vm, 'toggleFileFinder'); |