diff options
Diffstat (limited to 'polygerrit-ui/app/elements/change/gr-download-dialog/gr-download-dialog_test.ts')
-rw-r--r-- | polygerrit-ui/app/elements/change/gr-download-dialog/gr-download-dialog_test.ts | 100 |
1 files changed, 50 insertions, 50 deletions
diff --git a/polygerrit-ui/app/elements/change/gr-download-dialog/gr-download-dialog_test.ts b/polygerrit-ui/app/elements/change/gr-download-dialog/gr-download-dialog_test.ts index f61bb68cb6..142b999886 100644 --- a/polygerrit-ui/app/elements/change/gr-download-dialog/gr-download-dialog_test.ts +++ b/polygerrit-ui/app/elements/change/gr-download-dialog/gr-download-dialog_test.ts @@ -22,7 +22,6 @@ import { createCommit, createDownloadInfo, createRevision, - createRevisions, } from '../../../test/test-data-generators'; import { CommitId, @@ -30,8 +29,10 @@ import { PatchSetNum, RepoName, } from '../../../types/common'; +import './gr-download-dialog'; import {GrDownloadDialog} from './gr-download-dialog'; -import {mockPromise} from '../../../test/test-utils'; +import {mockPromise, queryAll, queryAndAssert} from '../../../test/test-utils'; +import {GrDownloadCommands} from '../../shared/gr-download-commands/gr-download-commands'; const basicFixture = fixtureFromElement('gr-download-dialog'); @@ -103,37 +104,43 @@ function getChangeObject() { }; } -function getChangeObjectNoFetch() { - return { - ...createChange(), - current_revision: '34685798fe548b6d17d1e8e5edc43a26d055cc72' as CommitId, - revisions: createRevisions(1), - }; -} - suite('gr-download-dialog', () => { let element: GrDownloadDialog; - setup(() => { + setup(async () => { element = basicFixture.instantiate(); element.patchNum = 1 as PatchSetNum; element.config = createDownloadInfo(); - flush(); + await element.updateComplete; }); test('anchors use download attribute', () => { - const anchors = Array.from(element.root!.querySelectorAll('a')); + const anchors = Array.from(queryAll(element, 'a')); assert.isTrue(!anchors.some(a => !a.hasAttribute('download'))); }); suite('gr-download-dialog tests with no fetch options', () => { - setup(() => { - element.change = getChangeObjectNoFetch(); - flush(); + setup(async () => { + element.change = { + ...createChange(), + revisions: { + r1: { + ...createRevision(), + commit: { + ...createCommit(), + parents: [{commit: 'p1' as CommitId, subject: 'subject1'}], + }, + }, + }, + }; + await element.updateComplete; }); test('focuses on first download link if no copy links', () => { - const focusStub = sinon.stub(element.$.download, 'focus'); + const focusStub = sinon.stub( + queryAndAssert<HTMLAnchorElement>(element, '#download'), + 'focus' + ); element.focus(); assert.isTrue(focusStub.called); focusStub.restore(); @@ -141,30 +148,31 @@ suite('gr-download-dialog', () => { }); suite('gr-download-dialog with fetch options', () => { - setup(() => { + setup(async () => { element.change = getChangeObject(); - flush(); + await element.updateComplete; }); - test('focuses on first copy link', () => { - const focusStub = sinon.stub(element.$.downloadCommands, 'focusOnCopy'); + test('focuses on first copy link', async () => { + const focusStub = sinon.stub( + queryAndAssert<GrDownloadCommands>(element, '#downloadCommands'), + 'focusOnCopy' + ); element.focus(); - flush(); + await element.updateComplete; assert.isTrue(focusStub.called); focusStub.restore(); }); test('computed fields', () => { + element.change = { + ...createChange(), + project: 'test/project' as RepoName, + _number: 123 as NumericChangeId, + }; + element.patchNum = 2 as PatchSetNum; assert.equal( - element._computeArchiveDownloadLink( - { - ...createChange(), - project: 'test/project' as RepoName, - _number: 123 as NumericChangeId, - }, - 2 as PatchSetNum, - 'tgz' - ), + element.computeArchiveDownloadLink('tgz'), '/changes/test%2Fproject~123/revisions/2/archive?format=tgz' ); }); @@ -174,31 +182,27 @@ suite('gr-download-dialog', () => { element.addEventListener('close', () => { closeCalled.resolve(); }); - const closeButton = element.shadowRoot!.querySelector( + const closeButton = queryAndAssert( + element, '.closeButtonContainer gr-button' ); - tap(closeButton!); + tap(closeButton); await closeCalled; }); }); - test('_computeShowDownloadCommands', () => { - assert.equal(element._computeShowDownloadCommands([]), 'hidden'); - assert.equal(element._computeShowDownloadCommands(['test']), ''); - }); - - test('_computeHidePatchFile', () => { - const patchNum = 1 as PatchSetNum; + test('computeHidePatchFile', () => { + element.patchNum = 1 as PatchSetNum; - const changeWithNoParent = { + element.change = { ...createChange(), revisions: { r1: {...createRevision(), commit: createCommit()}, }, }; - assert.isTrue(element._computeHidePatchFile(changeWithNoParent, patchNum)); + assert.isTrue(element.computeHidePatchFile()); - const changeWithOneParent = { + element.change = { ...createChange(), revisions: { r1: { @@ -210,11 +214,9 @@ suite('gr-download-dialog', () => { }, }, }; - assert.isFalse( - element._computeHidePatchFile(changeWithOneParent, patchNum) - ); + assert.isFalse(element.computeHidePatchFile()); - const changeWithMultipleParents = { + element.change = { ...createChange(), revisions: { r1: { @@ -229,8 +231,6 @@ suite('gr-download-dialog', () => { }, }, }; - assert.isTrue( - element._computeHidePatchFile(changeWithMultipleParents, patchNum) - ); + assert.isTrue(element.computeHidePatchFile()); }); }); |