diff options
-rw-r--r-- | app/assets/javascripts/issue_show/components/app.vue | 5 | ||||
-rw-r--r-- | spec/javascripts/issue_show/components/app_spec.js | 24 |
2 files changed, 29 insertions, 0 deletions
diff --git a/app/assets/javascripts/issue_show/components/app.vue b/app/assets/javascripts/issue_show/components/app.vue index d7b94a85024..0bb9acd4f82 100644 --- a/app/assets/javascripts/issue_show/components/app.vue +++ b/app/assets/javascripts/issue_show/components/app.vue @@ -124,6 +124,11 @@ export default { gl.utils.visitUrl(location.pathname); } + return this.service.getData(); + }) + .then(res => res.json()) + .then((data) => { + this.store.updateState(data); eventHub.$emit('close.form'); }) .catch(() => { diff --git a/spec/javascripts/issue_show/components/app_spec.js b/spec/javascripts/issue_show/components/app_spec.js index 3247f83d551..b9d352479c7 100644 --- a/spec/javascripts/issue_show/components/app_spec.js +++ b/spec/javascripts/issue_show/components/app_spec.js @@ -109,6 +109,30 @@ describe('Issuable output', () => { }); describe('updateIssuable', () => { + it('fetches new data after update', (done) => { + spyOn(vm.service, 'getData'); + spyOn(vm.service, 'updateIssuable').and.callFake(() => new Promise((resolve) => { + resolve({ + json() { + return { + confidential: false, + path: location.pathname, + }; + }, + }); + })); + + vm.updateIssuable(); + + setTimeout(() => { + expect( + vm.service.getData, + ).toHaveBeenCalled(); + + done(); + }); + }); + it('reloads the page if the confidential status has changed', (done) => { spyOn(gl.utils, 'visitUrl'); spyOn(vm.service, 'updateIssuable').and.callFake(() => new Promise((resolve) => { |