diff options
Diffstat (limited to 'polygerrit-ui/app/behaviors/gr-patch-set-behavior/gr-patch-set-behavior_test.html')
-rw-r--r-- | polygerrit-ui/app/behaviors/gr-patch-set-behavior/gr-patch-set-behavior_test.html | 110 |
1 files changed, 94 insertions, 16 deletions
diff --git a/polygerrit-ui/app/behaviors/gr-patch-set-behavior/gr-patch-set-behavior_test.html b/polygerrit-ui/app/behaviors/gr-patch-set-behavior/gr-patch-set-behavior_test.html index 54c1355ffd..b858c51a8a 100644 --- a/polygerrit-ui/app/behaviors/gr-patch-set-behavior/gr-patch-set-behavior_test.html +++ b/polygerrit-ui/app/behaviors/gr-patch-set-behavior/gr-patch-set-behavior_test.html @@ -1,4 +1,5 @@ <!-- +@license Copyright (C) 2016 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); @@ -22,7 +23,7 @@ limitations under the License. <link rel="import" href="gr-patch-set-behavior.html"> <script> - suite('gr-path-list-behavior tests', () => { + suite('gr-patch-set-behavior tests', () => { test('getRevisionByPatchNum', () => { const get = Gerrit.PatchSetBehavior.getRevisionByPatchNum; const revisions = [ @@ -35,31 +36,37 @@ limitations under the License. assert.equal(get(revisions, '3'), undefined); }); - test('fetchIsLatestKnown on latest', done => { + test('fetchChangeUpdates on latest', done => { const knownChange = { revisions: { sha1: {description: 'patch 1', _number: 1}, sha2: {description: 'patch 2', _number: 2}, }, + status: 'NEW', + messages: [], }; const mockRestApi = { getChangeDetail() { return Promise.resolve(knownChange); }, }; - Gerrit.PatchSetBehavior.fetchIsLatestKnown(knownChange, mockRestApi) - .then(isLatest => { - assert.isTrue(isLatest); + Gerrit.PatchSetBehavior.fetchChangeUpdates(knownChange, mockRestApi) + .then(result => { + assert.isTrue(result.isLatest); + assert.isNotOk(result.newStatus); + assert.isFalse(result.newMessages); done(); }); }); - test('fetchIsLatestKnown not on latest', done => { + test('fetchChangeUpdates not on latest', done => { const knownChange = { revisions: { sha1: {description: 'patch 1', _number: 1}, sha2: {description: 'patch 2', _number: 2}, }, + status: 'NEW', + messages: [], }; const actualChange = { revisions: { @@ -67,15 +74,81 @@ limitations under the License. sha2: {description: 'patch 2', _number: 2}, sha3: {description: 'patch 3', _number: 3}, }, + status: 'NEW', + messages: [], }; const mockRestApi = { getChangeDetail() { return Promise.resolve(actualChange); }, }; - Gerrit.PatchSetBehavior.fetchIsLatestKnown(knownChange, mockRestApi) - .then(isLatest => { - assert.isFalse(isLatest); + Gerrit.PatchSetBehavior.fetchChangeUpdates(knownChange, mockRestApi) + .then(result => { + assert.isFalse(result.isLatest); + assert.isNotOk(result.newStatus); + assert.isFalse(result.newMessages); + done(); + }); + }); + + test('fetchChangeUpdates new status', done => { + const knownChange = { + revisions: { + sha1: {description: 'patch 1', _number: 1}, + sha2: {description: 'patch 2', _number: 2}, + }, + status: 'NEW', + messages: [], + }; + const actualChange = { + revisions: { + sha1: {description: 'patch 1', _number: 1}, + sha2: {description: 'patch 2', _number: 2}, + }, + status: 'MERGED', + messages: [], + }; + const mockRestApi = { + getChangeDetail() { + return Promise.resolve(actualChange); + }, + }; + Gerrit.PatchSetBehavior.fetchChangeUpdates(knownChange, mockRestApi) + .then(result => { + assert.isTrue(result.isLatest); + assert.equal(result.newStatus, 'MERGED'); + assert.isFalse(result.newMessages); + done(); + }); + }); + + test('fetchChangeUpdates new messages', done => { + const knownChange = { + revisions: { + sha1: {description: 'patch 1', _number: 1}, + sha2: {description: 'patch 2', _number: 2}, + }, + status: 'NEW', + messages: [], + }; + const actualChange = { + revisions: { + sha1: {description: 'patch 1', _number: 1}, + sha2: {description: 'patch 2', _number: 2}, + }, + status: 'NEW', + messages: [{message: 'blah blah'}], + }; + const mockRestApi = { + getChangeDetail() { + return Promise.resolve(actualChange); + }, + }; + Gerrit.PatchSetBehavior.fetchChangeUpdates(knownChange, mockRestApi) + .then(result => { + assert.isTrue(result.isLatest); + assert.isNotOk(result.newStatus); + assert.isTrue(result.newMessages); done(); }); }); @@ -226,24 +299,29 @@ limitations under the License. {_number: 1}, ]; const sorted = [ - {_number: 0}, - {_number: 1}, {_number: 2}, + {_number: 1}, + {_number: 0}, ]; assert.deepEqual(sort(revisions), sorted); // Edit patchset should follow directly after its basePatchNum. revisions.push({_number: 'edit', basePatchNum: 2}); - sorted.push({_number: 'edit', basePatchNum: 2}); + sorted.unshift({_number: 'edit', basePatchNum: 2}); assert.deepEqual(sort(revisions), sorted); - revisions[3].basePatchNum = 0; - const edit = sorted.pop(); + revisions[0].basePatchNum = 0; + const edit = sorted.shift(); edit.basePatchNum = 0; - // Edit patchset should be at index 1. - sorted.splice(1, 0, edit); + // Edit patchset should be at index 2. + sorted.splice(2, 0, edit); assert.deepEqual(sort(revisions), sorted); }); + + test('getParentIndex', () => { + assert.equal(Gerrit.PatchSetBehavior.getParentIndex('-13'), 13); + assert.equal(Gerrit.PatchSetBehavior.getParentIndex(-4), 4); + }); }); </script> |