Move tests from old to new gr-related-changes-list
Change-Id: I631cde95d00a1e54b1820232733424b28f74bff4
(cherry picked from commit e9ddfa45dbebb19178032a4e057e00d74be019b5)
diff --git a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_test.ts b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_test.ts
index d1f9ff0..9d6be09 100644
--- a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_test.ts
+++ b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_test.ts
@@ -61,6 +61,7 @@
createEditRevision,
createAccountWithIdNameAndEmail,
createChangeViewChange,
+ createRelatedChangeAndCommitInfo,
} from '../../../test/test-data-generators';
import {ChangeViewPatchRange, GrChangeView} from './gr-change-view';
import {
@@ -79,6 +80,7 @@
ParentPatchSetNum,
PatchRange,
PatchSetNum,
+ RelatedChangeAndCommitInfo,
RevisionInfo,
RevisionPatchSetNum,
RobotId,
@@ -2982,4 +2984,23 @@
});
});
});
+
+ test('_calculateHasParent', () => {
+ const changeId = '123' as ChangeId;
+ const relatedChanges: RelatedChangeAndCommitInfo[] = [];
+
+ assert.equal(element._calculateHasParent(changeId, relatedChanges), false);
+
+ relatedChanges.push({
+ ...createRelatedChangeAndCommitInfo(),
+ change_id: '123' as ChangeId,
+ });
+ assert.equal(element._calculateHasParent(changeId, relatedChanges), false);
+
+ relatedChanges.push({
+ ...createRelatedChangeAndCommitInfo(),
+ change_id: '234' as ChangeId,
+ });
+ assert.equal(element._calculateHasParent(changeId, relatedChanges), true);
+ });
});
diff --git a/polygerrit-ui/app/elements/change/gr-related-changes-list-experimental/gr-related-changes-list-experimental.ts b/polygerrit-ui/app/elements/change/gr-related-changes-list-experimental/gr-related-changes-list-experimental.ts
index c75b8c4..8c83b58 100644
--- a/polygerrit-ui/app/elements/change/gr-related-changes-list-experimental/gr-related-changes-list-experimental.ts
+++ b/polygerrit-ui/app/elements/change/gr-related-changes-list-experimental/gr-related-changes-list-experimental.ts
@@ -348,7 +348,10 @@
</section>`;
return html`<gr-endpoint-decorator name="related-changes-section">
- <gr-endpoint-param name="change" value="[[change]]"></gr-endpoint-param>
+ <gr-endpoint-param
+ name="change"
+ .value=${this.change}
+ ></gr-endpoint-param>
<gr-endpoint-slot name="top"></gr-endpoint-slot>
${relatedChangeSection} ${submittedTogetherSection} ${sameTopicSection}
${mergeConflictsSection} ${cherryPicksSection}
diff --git a/polygerrit-ui/app/elements/change/gr-related-changes-list-experimental/gr-related-changes-list-experimental_test.ts b/polygerrit-ui/app/elements/change/gr-related-changes-list-experimental/gr-related-changes-list-experimental_test.ts
index 5769284..971da40 100644
--- a/polygerrit-ui/app/elements/change/gr-related-changes-list-experimental/gr-related-changes-list-experimental_test.ts
+++ b/polygerrit-ui/app/elements/change/gr-related-changes-list-experimental/gr-related-changes-list-experimental_test.ts
@@ -15,20 +15,39 @@
* limitations under the License.
*/
+import {SinonStubbedMember} from 'sinon/pkg/sinon-esm';
+import {PluginApi} from '../../../api/plugin';
+import {ChangeStatus} from '../../../constants/constants';
+import {RestApiService} from '../../../services/gr-rest-api/gr-rest-api';
import '../../../test/common-test-setup-karma';
import {
createChange,
+ createCommitInfoWithRequiredCommit,
createParsedChange,
createRelatedChangeAndCommitInfo,
createRelatedChangesInfo,
+ createRevision,
createSubmittedTogetherInfo,
} from '../../../test/test-data-generators';
-import {queryAndAssert, stubRestApi} from '../../../test/test-utils';
import {
+ queryAndAssert,
+ resetPlugins,
+ stubRestApi,
+} from '../../../test/test-utils';
+import {
+ ChangeId,
+ ChangeInfo,
+ CommitId,
+ NumericChangeId,
PatchSetNum,
+ RelatedChangeAndCommitInfo,
RelatedChangesInfo,
SubmittedTogetherInfo,
} from '../../../types/common';
+import {ParsedChangeInfo} from '../../../types/types';
+import {GrEndpointDecorator} from '../../plugins/gr-endpoint-decorator/gr-endpoint-decorator';
+import {_testOnly_initGerritPluginApi} from '../../shared/gr-js-api-interface/gr-gerrit';
+import {getPluginLoader} from '../../shared/gr-js-api-interface/gr-plugin-loader';
import './gr-related-changes-list-experimental';
import {
ChangeMarkersInList,
@@ -37,6 +56,8 @@
Section,
} from './gr-related-changes-list-experimental';
+const pluginApi = _testOnly_initGerritPluginApi();
+
const basicFixture = fixtureFromElement('gr-related-changes-list-experimental');
suite('gr-related-changes-list-experimental', () => {
@@ -246,4 +267,364 @@
assert.isFalse(cherryPicks!.classList.contains('first'));
});
});
+
+ test('_changesEqual', () => {
+ const change1: ChangeInfo = {
+ ...createChange(),
+ change_id: '123' as ChangeId,
+ _number: 0 as NumericChangeId,
+ };
+ const change2: ChangeInfo = {
+ ...createChange(),
+ change_id: '456' as ChangeId,
+ _number: 1 as NumericChangeId,
+ };
+ const change3: ChangeInfo = {
+ ...createChange(),
+ change_id: '123' as ChangeId,
+ _number: 2 as NumericChangeId,
+ };
+ const change4: RelatedChangeAndCommitInfo = {
+ ...createRelatedChangeAndCommitInfo(),
+ change_id: '123' as ChangeId,
+ _change_number: 1 as NumericChangeId,
+ };
+
+ assert.isTrue(element._changesEqual(change1, change1));
+ assert.isFalse(element._changesEqual(change1, change2));
+ assert.isFalse(element._changesEqual(change1, change3));
+ assert.isTrue(element._changesEqual(change2, change4));
+ });
+
+ test('_getChangeNumber', () => {
+ const change1: ChangeInfo = {
+ ...createChange(),
+ change_id: '123' as ChangeId,
+ _number: 0 as NumericChangeId,
+ };
+ const change2: ChangeInfo = {
+ ...createChange(),
+ change_id: '456' as ChangeId,
+ _number: 1 as NumericChangeId,
+ };
+ assert.equal(element._getChangeNumber(change1), 0);
+ assert.equal(element._getChangeNumber(change2), 1);
+ });
+
+ suite('get conflicts tests', () => {
+ let element: GrRelatedChangesListExperimental;
+ let conflictsStub: SinonStubbedMember<RestApiService['getChangeConflicts']>;
+
+ setup(() => {
+ element = basicFixture.instantiate();
+ conflictsStub = stubRestApi('getChangeConflicts').returns(
+ Promise.resolve(undefined)
+ );
+ });
+
+ test('request conflicts if open and mergeable', () => {
+ element.patchNum = 7 as PatchSetNum;
+ element.change = {
+ ...createParsedChange(),
+ change_id: '123' as ChangeId,
+ status: ChangeStatus.NEW,
+ };
+ element.mergeable = true;
+ element.reload();
+ assert.isTrue(conflictsStub.called);
+ });
+
+ test('does not request conflicts if closed and mergeable', () => {
+ element.patchNum = 7 as PatchSetNum;
+ element.change = {
+ ...createParsedChange(),
+ change_id: '123' as ChangeId,
+ status: ChangeStatus.NEW,
+ };
+ element.reload();
+ assert.isFalse(conflictsStub.called);
+ });
+
+ test('does not request conflicts if open and not mergeable', () => {
+ element.patchNum = 7 as PatchSetNum;
+ element.change = {
+ ...createParsedChange(),
+ change_id: '123' as ChangeId,
+ status: ChangeStatus.NEW,
+ };
+ element.mergeable = false;
+ element.reload();
+ assert.isFalse(conflictsStub.called);
+ });
+
+ test('doesnt request conflicts if closed and not mergeable', () => {
+ element.patchNum = 7 as PatchSetNum;
+ element.change = {
+ ...createParsedChange(),
+ change_id: '123' as ChangeId,
+ status: ChangeStatus.NEW,
+ };
+ element.mergeable = false;
+ element.reload();
+ assert.isFalse(conflictsStub.called);
+ });
+ });
+
+ test('connected revisions', () => {
+ const change: ParsedChangeInfo = {
+ ...createParsedChange(),
+ revisions: {
+ e3c6d60783bfdec9ebae7dcfec4662360433449e: createRevision(1),
+ '26e5e4c9c7ae31cbd876271cca281ce22b413997': createRevision(2),
+ bf7884d695296ca0c91702ba3e2bc8df0f69a907: createRevision(7),
+ b5fc49f2e67d1889d5275cac04ad3648f2ec7fe3: createRevision(5),
+ d6bcee67570859ccb684873a85cf50b1f0e96fda: createRevision(6),
+ cc960918a7f90388f4a9e05753d0f7b90ad44546: createRevision(3),
+ '9e593f6dcc2c0785a2ad2c895a34ad2aa9a0d8b6': createRevision(4),
+ },
+ };
+ let patchNum = 7 as PatchSetNum;
+ let relatedChanges: RelatedChangeAndCommitInfo[] = [
+ {
+ ...createRelatedChangeAndCommitInfo(),
+ commit: {
+ ...createCommitInfoWithRequiredCommit(
+ '2cebeedfb1e80f4b872d0a13ade529e70652c0c8'
+ ),
+ parents: [
+ {
+ commit: '87ed20b241576b620bbaa3dfd47715ce6782b7dd' as CommitId,
+ subject: 'subject1',
+ },
+ ],
+ },
+ },
+ {
+ ...createRelatedChangeAndCommitInfo(),
+ commit: {
+ ...createCommitInfoWithRequiredCommit(
+ '87ed20b241576b620bbaa3dfd47715ce6782b7dd'
+ ),
+ parents: [
+ {
+ commit: '6c71f9e86ba955a7e01e2088bce0050a90eb9fbb' as CommitId,
+ subject: 'subject2',
+ },
+ ],
+ },
+ },
+ {
+ ...createRelatedChangeAndCommitInfo(),
+ commit: {
+ ...createCommitInfoWithRequiredCommit(
+ '6c71f9e86ba955a7e01e2088bce0050a90eb9fbb'
+ ),
+ parents: [
+ {
+ commit: 'b0ccb183494a8e340b8725a2dc553967d61e6dae' as CommitId,
+ subject: 'subject3',
+ },
+ ],
+ },
+ },
+ {
+ ...createRelatedChangeAndCommitInfo(),
+ commit: {
+ ...createCommitInfoWithRequiredCommit(
+ 'b0ccb183494a8e340b8725a2dc553967d61e6dae'
+ ),
+ parents: [
+ {
+ commit: 'bf7884d695296ca0c91702ba3e2bc8df0f69a907' as CommitId,
+ subject: 'subject4',
+ },
+ ],
+ },
+ },
+ {
+ ...createRelatedChangeAndCommitInfo(),
+ commit: {
+ ...createCommitInfoWithRequiredCommit(
+ 'bf7884d695296ca0c91702ba3e2bc8df0f69a907'
+ ),
+ parents: [
+ {
+ commit: '613bc4f81741a559c6667ac08d71dcc3348f73ce' as CommitId,
+ subject: 'subject5',
+ },
+ ],
+ },
+ },
+ {
+ ...createRelatedChangeAndCommitInfo(),
+ commit: {
+ ...createCommitInfoWithRequiredCommit(
+ '613bc4f81741a559c6667ac08d71dcc3348f73ce'
+ ),
+ parents: [
+ {
+ commit: '455ed9cd27a16bf6991f04dcc57ef575dc4d5e75' as CommitId,
+ subject: 'subject6',
+ },
+ ],
+ },
+ },
+ ];
+
+ let connectedChanges = element._computeConnectedRevisions(
+ change,
+ patchNum,
+ relatedChanges
+ );
+ assert.deepEqual(connectedChanges, [
+ '613bc4f81741a559c6667ac08d71dcc3348f73ce',
+ 'bf7884d695296ca0c91702ba3e2bc8df0f69a907',
+ 'bf7884d695296ca0c91702ba3e2bc8df0f69a907',
+ 'b0ccb183494a8e340b8725a2dc553967d61e6dae',
+ '6c71f9e86ba955a7e01e2088bce0050a90eb9fbb',
+ '87ed20b241576b620bbaa3dfd47715ce6782b7dd',
+ '2cebeedfb1e80f4b872d0a13ade529e70652c0c8',
+ ]);
+
+ patchNum = 4 as PatchSetNum;
+ relatedChanges = [
+ {
+ ...createRelatedChangeAndCommitInfo(),
+ commit: {
+ ...createCommitInfoWithRequiredCommit(
+ '2cebeedfb1e80f4b872d0a13ade529e70652c0c8'
+ ),
+ parents: [
+ {
+ commit: '87ed20b241576b620bbaa3dfd47715ce6782b7dd' as CommitId,
+ subject: 'My parent commit',
+ },
+ ],
+ },
+ },
+ {
+ ...createRelatedChangeAndCommitInfo(),
+ commit: {
+ ...createCommitInfoWithRequiredCommit(
+ '87ed20b241576b620bbaa3dfd47715ce6782b7dd'
+ ),
+ parents: [
+ {
+ commit: '6c71f9e86ba955a7e01e2088bce0050a90eb9fbb' as CommitId,
+ subject: 'My parent commit',
+ },
+ ],
+ },
+ },
+ {
+ ...createRelatedChangeAndCommitInfo(),
+ commit: {
+ ...createCommitInfoWithRequiredCommit(
+ '6c71f9e86ba955a7e01e2088bce0050a90eb9fbb'
+ ),
+ parents: [
+ {
+ commit: 'b0ccb183494a8e340b8725a2dc553967d61e6dae' as CommitId,
+ subject: 'My parent commit',
+ },
+ ],
+ },
+ },
+ {
+ ...createRelatedChangeAndCommitInfo(),
+ commit: {
+ ...createCommitInfoWithRequiredCommit(
+ 'a3e5d9d4902b915a39e2efba5577211b9b3ebe7b'
+ ),
+ parents: [
+ {
+ commit: '9e593f6dcc2c0785a2ad2c895a34ad2aa9a0d8b6' as CommitId,
+ subject: 'My parent commit',
+ },
+ ],
+ },
+ },
+ {
+ ...createRelatedChangeAndCommitInfo(),
+ commit: {
+ ...createCommitInfoWithRequiredCommit(
+ '9e593f6dcc2c0785a2ad2c895a34ad2aa9a0d8b6'
+ ),
+ parents: [
+ {
+ commit: 'af815dac54318826b7f1fa468acc76349ffc588e' as CommitId,
+ subject: 'My parent commit',
+ },
+ ],
+ },
+ },
+ {
+ ...createRelatedChangeAndCommitInfo(),
+ commit: {
+ ...createCommitInfoWithRequiredCommit(
+ 'af815dac54318826b7f1fa468acc76349ffc588e'
+ ),
+ parents: [
+ {
+ commit: '58f76e406e24cb8b0f5d64c7f5ac1e8616d0a22c' as CommitId,
+ subject: 'My parent commit',
+ },
+ ],
+ },
+ },
+ ];
+
+ connectedChanges = element._computeConnectedRevisions(
+ change,
+ patchNum,
+ relatedChanges
+ );
+ assert.deepEqual(connectedChanges, [
+ 'af815dac54318826b7f1fa468acc76349ffc588e',
+ '9e593f6dcc2c0785a2ad2c895a34ad2aa9a0d8b6',
+ '9e593f6dcc2c0785a2ad2c895a34ad2aa9a0d8b6',
+ 'a3e5d9d4902b915a39e2efba5577211b9b3ebe7b',
+ ]);
+ });
+
+ suite('gr-related-changes-list plugin tests', () => {
+ let element: GrRelatedChangesListExperimental;
+
+ setup(() => {
+ resetPlugins();
+ element = basicFixture.instantiate();
+ });
+
+ teardown(() => {
+ resetPlugins();
+ });
+
+ test('endpoint params', done => {
+ element.change = {...createParsedChange(), labels: {}};
+ interface RelatedChangesListGrEndpointDecorator
+ extends GrEndpointDecorator {
+ plugin: PluginApi;
+ change: ParsedChangeInfo;
+ }
+ let hookEl: RelatedChangesListGrEndpointDecorator;
+ let plugin: PluginApi;
+ pluginApi.install(
+ p => {
+ plugin = p;
+ plugin
+ .hook('related-changes-section')
+ .getLastAttached()
+ .then(el => (hookEl = el as RelatedChangesListGrEndpointDecorator));
+ },
+ '0.1',
+ 'http://some/plugins/url1.js'
+ );
+ getPluginLoader().loadPlugins([]);
+ flush(() => {
+ assert.strictEqual(hookEl.plugin, plugin);
+ assert.strictEqual(hookEl.change, element.change);
+ done();
+ });
+ });
+ });
});
diff --git a/polygerrit-ui/app/elements/change/gr-related-changes-list/gr-related-changes-list_test.ts b/polygerrit-ui/app/elements/change/gr-related-changes-list/gr-related-changes-list_test.ts
index c4bfe77..631c077 100644
--- a/polygerrit-ui/app/elements/change/gr-related-changes-list/gr-related-changes-list_test.ts
+++ b/polygerrit-ui/app/elements/change/gr-related-changes-list/gr-related-changes-list_test.ts
@@ -22,8 +22,6 @@
createCommit,
createCommitInfoWithRequiredCommit,
createParsedChange,
- createRelatedChangeAndCommitInfo,
- createRevision,
} from '../../../test/test-data-generators';
import {
ChangeId,
@@ -34,22 +32,12 @@
RelatedChangeAndCommitInfo,
RepoName,
} from '../../../types/common';
-import {ParsedChangeInfo} from '../../../types/types';
import './gr-related-changes-list';
import {GerritNav} from '../../core/gr-navigation/gr-navigation';
import {getPluginLoader} from '../../shared/gr-js-api-interface/gr-plugin-loader';
import {_testOnly_initGerritPluginApi} from '../../shared/gr-js-api-interface/gr-gerrit';
-import {
- query,
- queryAndAssert,
- resetPlugins,
- stubRestApi,
-} from '../../../test/test-utils';
+import {query, queryAndAssert} from '../../../test/test-utils';
import {GrRelatedChangesList} from './gr-related-changes-list';
-import {SinonStubbedMember} from 'sinon/pkg/sinon-esm';
-import {RestApiService} from '../../../services/gr-rest-api/gr-rest-api';
-import {PluginApi} from '../../../api/plugin';
-import {GrEndpointDecorator} from '../../plugins/gr-endpoint-decorator/gr-endpoint-decorator';
import {_testOnly_resetEndpoints} from '../../shared/gr-js-api-interface/gr-plugin-endpoints';
const pluginApi = _testOnly_initGerritPluginApi();
@@ -65,266 +53,7 @@
element = basicFixture.instantiate();
});
- test('connected revisions', () => {
- const change: ParsedChangeInfo = {
- ...createParsedChange(),
- revisions: {
- e3c6d60783bfdec9ebae7dcfec4662360433449e: createRevision(1),
- '26e5e4c9c7ae31cbd876271cca281ce22b413997': createRevision(2),
- bf7884d695296ca0c91702ba3e2bc8df0f69a907: createRevision(7),
- b5fc49f2e67d1889d5275cac04ad3648f2ec7fe3: createRevision(5),
- d6bcee67570859ccb684873a85cf50b1f0e96fda: createRevision(6),
- cc960918a7f90388f4a9e05753d0f7b90ad44546: createRevision(3),
- '9e593f6dcc2c0785a2ad2c895a34ad2aa9a0d8b6': createRevision(4),
- },
- };
- let patchNum = 7 as PatchSetNum;
- let relatedChanges: RelatedChangeAndCommitInfo[] = [
- {
- ...createRelatedChangeAndCommitInfo(),
- commit: {
- ...createCommitInfoWithRequiredCommit(
- '2cebeedfb1e80f4b872d0a13ade529e70652c0c8'
- ),
- parents: [
- {
- commit: '87ed20b241576b620bbaa3dfd47715ce6782b7dd' as CommitId,
- subject: 'subject1',
- },
- ],
- },
- },
- {
- ...createRelatedChangeAndCommitInfo(),
- commit: {
- ...createCommitInfoWithRequiredCommit(
- '87ed20b241576b620bbaa3dfd47715ce6782b7dd'
- ),
- parents: [
- {
- commit: '6c71f9e86ba955a7e01e2088bce0050a90eb9fbb' as CommitId,
- subject: 'subject2',
- },
- ],
- },
- },
- {
- ...createRelatedChangeAndCommitInfo(),
- commit: {
- ...createCommitInfoWithRequiredCommit(
- '6c71f9e86ba955a7e01e2088bce0050a90eb9fbb'
- ),
- parents: [
- {
- commit: 'b0ccb183494a8e340b8725a2dc553967d61e6dae' as CommitId,
- subject: 'subject3',
- },
- ],
- },
- },
- {
- ...createRelatedChangeAndCommitInfo(),
- commit: {
- ...createCommitInfoWithRequiredCommit(
- 'b0ccb183494a8e340b8725a2dc553967d61e6dae'
- ),
- parents: [
- {
- commit: 'bf7884d695296ca0c91702ba3e2bc8df0f69a907' as CommitId,
- subject: 'subject4',
- },
- ],
- },
- },
- {
- ...createRelatedChangeAndCommitInfo(),
- commit: {
- ...createCommitInfoWithRequiredCommit(
- 'bf7884d695296ca0c91702ba3e2bc8df0f69a907'
- ),
- parents: [
- {
- commit: '613bc4f81741a559c6667ac08d71dcc3348f73ce' as CommitId,
- subject: 'subject5',
- },
- ],
- },
- },
- {
- ...createRelatedChangeAndCommitInfo(),
- commit: {
- ...createCommitInfoWithRequiredCommit(
- '613bc4f81741a559c6667ac08d71dcc3348f73ce'
- ),
- parents: [
- {
- commit: '455ed9cd27a16bf6991f04dcc57ef575dc4d5e75' as CommitId,
- subject: 'subject6',
- },
- ],
- },
- },
- ];
-
- let connectedChanges = element._computeConnectedRevisions(
- change,
- patchNum,
- relatedChanges
- );
- assert.deepEqual(connectedChanges, [
- '613bc4f81741a559c6667ac08d71dcc3348f73ce',
- 'bf7884d695296ca0c91702ba3e2bc8df0f69a907',
- 'bf7884d695296ca0c91702ba3e2bc8df0f69a907',
- 'b0ccb183494a8e340b8725a2dc553967d61e6dae',
- '6c71f9e86ba955a7e01e2088bce0050a90eb9fbb',
- '87ed20b241576b620bbaa3dfd47715ce6782b7dd',
- '2cebeedfb1e80f4b872d0a13ade529e70652c0c8',
- ]);
-
- patchNum = 4 as PatchSetNum;
- relatedChanges = [
- {
- ...createRelatedChangeAndCommitInfo(),
- commit: {
- ...createCommitInfoWithRequiredCommit(
- '2cebeedfb1e80f4b872d0a13ade529e70652c0c8'
- ),
- parents: [
- {
- commit: '87ed20b241576b620bbaa3dfd47715ce6782b7dd' as CommitId,
- subject: 'My parent commit',
- },
- ],
- },
- },
- {
- ...createRelatedChangeAndCommitInfo(),
- commit: {
- ...createCommitInfoWithRequiredCommit(
- '87ed20b241576b620bbaa3dfd47715ce6782b7dd'
- ),
- parents: [
- {
- commit: '6c71f9e86ba955a7e01e2088bce0050a90eb9fbb' as CommitId,
- subject: 'My parent commit',
- },
- ],
- },
- },
- {
- ...createRelatedChangeAndCommitInfo(),
- commit: {
- ...createCommitInfoWithRequiredCommit(
- '6c71f9e86ba955a7e01e2088bce0050a90eb9fbb'
- ),
- parents: [
- {
- commit: 'b0ccb183494a8e340b8725a2dc553967d61e6dae' as CommitId,
- subject: 'My parent commit',
- },
- ],
- },
- },
- {
- ...createRelatedChangeAndCommitInfo(),
- commit: {
- ...createCommitInfoWithRequiredCommit(
- 'a3e5d9d4902b915a39e2efba5577211b9b3ebe7b'
- ),
- parents: [
- {
- commit: '9e593f6dcc2c0785a2ad2c895a34ad2aa9a0d8b6' as CommitId,
- subject: 'My parent commit',
- },
- ],
- },
- },
- {
- ...createRelatedChangeAndCommitInfo(),
- commit: {
- ...createCommitInfoWithRequiredCommit(
- '9e593f6dcc2c0785a2ad2c895a34ad2aa9a0d8b6'
- ),
- parents: [
- {
- commit: 'af815dac54318826b7f1fa468acc76349ffc588e' as CommitId,
- subject: 'My parent commit',
- },
- ],
- },
- },
- {
- ...createRelatedChangeAndCommitInfo(),
- commit: {
- ...createCommitInfoWithRequiredCommit(
- 'af815dac54318826b7f1fa468acc76349ffc588e'
- ),
- parents: [
- {
- commit: '58f76e406e24cb8b0f5d64c7f5ac1e8616d0a22c' as CommitId,
- subject: 'My parent commit',
- },
- ],
- },
- },
- ];
-
- connectedChanges = element._computeConnectedRevisions(
- change,
- patchNum,
- relatedChanges
- );
- assert.deepEqual(connectedChanges, [
- 'af815dac54318826b7f1fa468acc76349ffc588e',
- '9e593f6dcc2c0785a2ad2c895a34ad2aa9a0d8b6',
- '9e593f6dcc2c0785a2ad2c895a34ad2aa9a0d8b6',
- 'a3e5d9d4902b915a39e2efba5577211b9b3ebe7b',
- ]);
- });
-
- test('_changesEqual', () => {
- const change1: ChangeInfo = {
- ...createChange(),
- change_id: '123' as ChangeId,
- _number: 0 as NumericChangeId,
- };
- const change2: ChangeInfo = {
- ...createChange(),
- change_id: '456' as ChangeId,
- _number: 1 as NumericChangeId,
- };
- const change3: ChangeInfo = {
- ...createChange(),
- change_id: '123' as ChangeId,
- _number: 2 as NumericChangeId,
- };
- const change4: RelatedChangeAndCommitInfo = {
- ...createRelatedChangeAndCommitInfo(),
- change_id: '123' as ChangeId,
- _change_number: 1 as NumericChangeId,
- };
-
- assert.isTrue(element._changesEqual(change1, change1));
- assert.isFalse(element._changesEqual(change1, change2));
- assert.isFalse(element._changesEqual(change1, change3));
- assert.isTrue(element._changesEqual(change2, change4));
- });
-
- test('_getChangeNumber', () => {
- const change1: ChangeInfo = {
- ...createChange(),
- change_id: '123' as ChangeId,
- _number: 0 as NumericChangeId,
- };
- const change2: ChangeInfo = {
- ...createChange(),
- change_id: '456' as ChangeId,
- _number: 1 as NumericChangeId,
- };
- assert.equal(element._getChangeNumber(change1), 0);
- assert.equal(element._getChangeNumber(change2), 1);
- });
-
+ // obsolete
test('event for section loaded fires for each section ', () => {
const loadedStub = sinon.stub();
element.patchNum = 7 as PatchSetNum;
@@ -341,6 +70,7 @@
});
});
+ // trivial
suite('getChangeConflicts resolves undefined', () => {
let element: GrRelatedChangesList;
@@ -361,84 +91,6 @@
});
});
- suite('get conflicts tests', () => {
- let element: GrRelatedChangesList;
- let conflictsStub: SinonStubbedMember<RestApiService['getChangeConflicts']>;
-
- setup(() => {
- element = basicFixture.instantiate();
- conflictsStub = stubRestApi('getChangeConflicts').returns(
- Promise.resolve(undefined)
- );
- });
-
- test('request conflicts if open and mergeable', () => {
- element.patchNum = 7 as PatchSetNum;
- element.change = {
- ...createParsedChange(),
- change_id: '123' as ChangeId,
- status: ChangeStatus.NEW,
- };
- element.mergeable = true;
- element.reload();
- assert.isTrue(conflictsStub.called);
- });
-
- test('does not request conflicts if closed and mergeable', () => {
- element.patchNum = 7 as PatchSetNum;
- element.change = {
- ...createParsedChange(),
- change_id: '123' as ChangeId,
- status: ChangeStatus.NEW,
- };
- element.reload();
- assert.isFalse(conflictsStub.called);
- });
-
- test('does not request conflicts if open and not mergeable', () => {
- element.patchNum = 7 as PatchSetNum;
- element.change = {
- ...createParsedChange(),
- change_id: '123' as ChangeId,
- status: ChangeStatus.NEW,
- };
- element.mergeable = false;
- element.reload();
- assert.isFalse(conflictsStub.called);
- });
-
- test('doesnt request conflicts if closed and not mergeable', () => {
- element.patchNum = 7 as PatchSetNum;
- element.change = {
- ...createParsedChange(),
- change_id: '123' as ChangeId,
- status: ChangeStatus.NEW,
- };
- element.mergeable = false;
- element.reload();
- assert.isFalse(conflictsStub.called);
- });
- });
-
- test('_calculateHasParent', () => {
- const changeId = '123' as ChangeId;
- const relatedChanges: RelatedChangeAndCommitInfo[] = [];
-
- assert.equal(element._calculateHasParent(changeId, relatedChanges), false);
-
- relatedChanges.push({
- ...createRelatedChangeAndCommitInfo(),
- change_id: '123' as ChangeId,
- });
- assert.equal(element._calculateHasParent(changeId, relatedChanges), false);
-
- relatedChanges.push({
- ...createRelatedChangeAndCommitInfo(),
- change_id: '234' as ChangeId,
- });
- assert.equal(element._calculateHasParent(changeId, relatedChanges), true);
- });
-
suite('hidden attribute and update event', () => {
const changes: ChangeInfo[] = [
{
@@ -471,6 +123,7 @@
},
];
+ // obsolete
test('clear and empties', () => {
element._relatedResponse = {changes: relatedChanges};
element._submittedTogether = {
@@ -491,6 +144,7 @@
assert.equal(element._sameTopic?.length, 0);
});
+ // obsolete
test('update fires', () => {
const updateHandler = sinon.stub();
element.addEventListener('update', updateHandler);
@@ -611,6 +265,7 @@
});
});
+ // trivial
test('_computeChangeURL uses GerritNav', () => {
const getUrlStub = sinon.stub(GerritNav, 'getUrlForChangeById');
element._computeChangeURL(
@@ -621,6 +276,7 @@
assert.isTrue(getUrlStub.called);
});
+ // trivial
suite('submitted together changes', () => {
const change: ChangeInfo = {
...createChange(),
@@ -705,47 +361,7 @@
});
});
- suite('gr-related-changes-list plugin tests', () => {
- let element: GrRelatedChangesList;
-
- setup(() => {
- resetPlugins();
- element = basicFixture.instantiate();
- });
-
- teardown(() => {
- resetPlugins();
- });
-
- test('endpoint params', done => {
- element.change = {...createParsedChange(), labels: {}};
- interface RelatedChangesListGrEndpointDecorator
- extends GrEndpointDecorator {
- plugin: PluginApi;
- change: ParsedChangeInfo;
- }
- let hookEl: RelatedChangesListGrEndpointDecorator;
- let plugin: PluginApi;
- pluginApi.install(
- p => {
- plugin = p;
- plugin
- .hook('related-changes-section')
- .getLastAttached()
- .then(el => (hookEl = el as RelatedChangesListGrEndpointDecorator));
- },
- '0.1',
- 'http://some/plugins/url1.js'
- );
- getPluginLoader().loadPlugins([]);
- flush(() => {
- assert.strictEqual(hookEl.plugin, plugin);
- assert.strictEqual(hookEl.change, element.change);
- done();
- });
- });
- });
-
+ // obsolete
test('hiding and unhiding', done => {
element.change = {...createParsedChange(), labels: {}};
let hookEl: HTMLElement;