diff options
author | Logan Hanks <logan@google.com> | 2018-09-26 18:16:56 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2018-09-26 18:16:56 +0000 |
commit | 783b189407123bef5cbd0dfedb0d863faaf2bbf0 (patch) | |
tree | 6b8cc82ba934c00349e978463e9473b8bbad0e12 | |
parent | 4fa21ada22faf1c8a60832245bde5e8dab53bc23 (diff) | |
parent | 64e53550da3b1bd666d4797ddf29f5ca49797a6c (diff) |
Merge "Deflake label change test"
-rw-r--r-- | polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata-it_test.html | 51 |
1 files changed, 25 insertions, 26 deletions
diff --git a/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata-it_test.html b/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata-it_test.html index b056233d96..5b36221b86 100644 --- a/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata-it_test.html +++ b/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata-it_test.html @@ -136,43 +136,42 @@ limitations under the License. suite('label updates', () => { let plugin; - let labelChangeStub; - setup(done => { + setup(() => { Gerrit.install(p => plugin = p, '0.1', new URL('test/plugin.html?' + Math.random(), window.location.href).toString()); sandbox.stub(Gerrit, '_arePluginsLoaded').returns(true); Gerrit._setPluginsPending([]); element = createElement(); - - labelChangeStub = sandbox.stub(); - plugin.changeMetadata().onLabelsChanged(labelChangeStub); - flush(done); }); test('labels changed callback', done => { - assert.equal(labelChangeStub.callCount, 1); - assert.isTrue(labelChangeStub.calledWithExactly(labels)); - assert.equal(labelChangeStub.args[0][0]['CI'].all.length, 2); - element.set(['change', 'labels'], { - CI: { - all: [ - {value: 1, name: 'user 2', _account_id: 1}, - ], - values: { - ' 0': 'Don\'t submit as-is', - '+1': 'No score', - '+2': 'Looks good to me', - }, - }, - }); - // Wait for fake rest API response. - flush(() => { - assert.equal(labelChangeStub.callCount, 2); - assert.equal(labelChangeStub.args[1][0]['CI'].all.length, 1); - done(); + let callCount = 0; + const labelChangeSpy = sandbox.spy(arg => { + callCount++; + if (callCount === 1) { + assert.deepEqual(arg, labels); + assert.equal(arg.CI.all.length, 2); + element.set(['change', 'labels'], { + CI: { + all: [ + {value: 1, name: 'user 2', _account_id: 1}, + ], + values: { + ' 0': 'Don\'t submit as-is', + '+1': 'No score', + '+2': 'Looks good to me', + }, + }, + }); + } else if (callCount === 2) { + assert.equal(arg.CI.all.length, 1); + done(); + } }); + + plugin.changeMetadata().onLabelsChanged(labelChangeSpy); }); }); }); |