From 1429e5b57df2107746d8550abebb423107b5399a Mon Sep 17 00:00:00 2001 From: Tim Zallmann Date: Mon, 2 Oct 2017 15:02:52 +0200 Subject: Added Test for Back Button Behaviour --- .../repo/components/repo_sidebar_spec.js | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/spec/javascripts/repo/components/repo_sidebar_spec.js b/spec/javascripts/repo/components/repo_sidebar_spec.js index db9911c7a2c..9959d23a07d 100644 --- a/spec/javascripts/repo/components/repo_sidebar_spec.js +++ b/spec/javascripts/repo/components/repo_sidebar_spec.js @@ -121,5 +121,37 @@ describe('RepoSidebar', () => { expect(RepoService.url).toEqual(prevUrl); }); }); + + describe('back button', () => { + const file1 = { + id: 1, + url: 'file1', + }; + const file2 = { + id: 2, + url: 'file2', + }; + RepoStore.files = [file1, file2]; + RepoStore.openedFiles = [file1, file2]; + RepoStore.isRoot = true; + + const vm = createComponent(); + vm.fileClicked(file1); + + it('render previous file when using back button', () => { + spyOn(Helper, 'getContent').and.callThrough(); + vm.fileClicked(file2); + expect(Helper.getContent).toHaveBeenCalledWith(file2); + + history.pushState({ + key: Math.random(), + }, '', file1.url); + const popEvent = document.createEvent('Event'); + popEvent.initEvent('popstate', true, true); + window.dispatchEvent(popEvent); + + expect(Helper.getContent).toHaveBeenCalledWith(file1); + }); + }); }); }); -- cgit v1.2.1