diff options
author | Winnie Hellmann <winnie@gitlab.com> | 2017-08-15 08:20:35 +0000 |
---|---|---|
committer | Phil Hughes <me@iamphill.com> | 2017-08-15 08:20:35 +0000 |
commit | d2b4109b0830970f41c60b7407366bf760d41676 (patch) | |
tree | 604c18c9049de11e36091b10801b19c0966509d1 /spec/javascripts/gpg_badges_spec.js | |
parent | 155de419029a200a04e257baded9ea3c5f5bfe99 (diff) | |
download | gitlab-ce-d2b4109b0830970f41c60b7407366bf760d41676.tar.gz |
Display GPG status loading spinner only when Ajax request is made
Diffstat (limited to 'spec/javascripts/gpg_badges_spec.js')
-rw-r--r-- | spec/javascripts/gpg_badges_spec.js | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/spec/javascripts/gpg_badges_spec.js b/spec/javascripts/gpg_badges_spec.js new file mode 100644 index 00000000000..7a826487bf9 --- /dev/null +++ b/spec/javascripts/gpg_badges_spec.js @@ -0,0 +1,48 @@ +import GpgBadges from '~/gpg_badges'; + +describe('GpgBadges', () => { + const dummyCommitSha = 'n0m0rec0ffee'; + const dummyBadgeHtml = 'dummy html'; + const dummyResponse = { + signatures: [{ + commit_sha: dummyCommitSha, + html: dummyBadgeHtml, + }], + }; + + beforeEach(() => { + setFixtures(` + <div class="parent-container"> + <div class="js-loading-gpg-badge" data-commit-sha="${dummyCommitSha}"></div> + </div> + `); + }); + + it('displays a loading spinner', () => { + spyOn($, 'get').and.returnValue({ + done() { + // intentionally left blank + }, + }); + + GpgBadges.fetch(); + + expect(document.querySelector('.js-loading-gpg-badge:empty')).toBe(null); + const spinners = document.querySelectorAll('.js-loading-gpg-badge i.fa.fa-spinner.fa-spin'); + expect(spinners.length).toBe(1); + }); + + it('replaces the loading spinner', () => { + spyOn($, 'get').and.returnValue({ + done(callback) { + callback(dummyResponse); + }, + }); + + GpgBadges.fetch(); + + expect(document.querySelector('.js-loading-gpg-badge')).toBe(null); + const parentContainer = document.querySelector('.parent-container'); + expect(parentContainer.innerHTML.trim()).toEqual(dummyBadgeHtml); + }); +}); |