Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2018-07-26 16:50:06 +0300
committerPhil Hughes <me@iamphill.com>2018-07-26 16:50:06 +0300
commit4154477ca7cb00331ce2ead943debe158ebb5f25 (patch)
tree8b0df9ffeb98b83169830f33c2f6c08307db1334 /spec/javascripts
parent8873840839811948b2f29175177b91bcf806a3f8 (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.js27
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');