PolyGerrit: Show wip and private status on change list

Bug: Issue 6758
Change-Id: Icf1d211c72ff273cd517b409b0f13b2922b86599
This commit is contained in:
Paladox none
2017-07-17 23:51:56 +00:00
parent a7cfa81268
commit 30a3d847f7
2 changed files with 92 additions and 4 deletions

View File

@@ -116,19 +116,33 @@ limitations under the License.
status === this.ChangeStatus.DRAFT;
},
wipOrPrivateStatus(change) {
if (change.work_in_progress && change.is_private) {
return ' (Private) (WIP)';
} else if (change.work_in_progress) {
return ' (WIP)';
} else if (change.is_private) {
return ' (Private)';
}
return '';
},
changeStatusString(change) {
// "Closed" states should take precedence over "open" ones.
if (change.status === this.ChangeStatus.MERGED) {
return 'Merged';
return 'Merged' + this.wipOrPrivateStatus(change);
}
if (change.status === this.ChangeStatus.ABANDONED) {
return 'Abandoned';
return 'Abandoned' + this.wipOrPrivateStatus(change);
}
if (change.mergeable === false) {
return 'Merge Conflict';
return 'Merge Conflict' + this.wipOrPrivateStatus(change);
}
if (change.status === this.ChangeStatus.DRAFT) {
return 'Draft';
return 'Draft' + this.wipOrPrivateStatus(change);
}
if (change.status === this.ChangeStatus.NEW) {
return this.wipOrPrivateStatus(change);
}
return '';
},

View File

@@ -75,5 +75,79 @@ limitations under the License.
test('changePath', () => {
assert.deepEqual(element.changePath('1'), '/r/c/1');
});
test('Open status', () => {
const change = {
change_id: 'Iad9dc96274af6946f3632be53b106ef80f7ba6ca',
revisions: {
rev1: {_number: 1},
},
current_revision: 'rev1',
status: 'NEW',
labels: {},
};
const status = element.changeStatusString(change);
assert.equal(status, '');
});
test('Merged status', () => {
const change = {
change_id: 'Iad9dc96274af6946f3632be53b106ef80f7ba6ca',
revisions: {
rev1: {_number: 1},
},
current_revision: 'rev1',
status: 'MERGED',
labels: {},
};
const status = element.changeStatusString(change);
assert.equal(status, 'Merged');
});
test('Abandoned status', () => {
const change = {
change_id: 'Iad9dc96274af6946f3632be53b106ef80f7ba6ca',
revisions: {
rev1: {_number: 1},
},
current_revision: 'rev1',
status: 'ABANDONED',
labels: {},
};
const status = element.changeStatusString(change);
assert.equal(status, 'Abandoned');
});
test('Open status with private and wip', () => {
const change = {
change_id: 'Iad9dc96274af6946f3632be53b106ef80f7ba6ca',
revisions: {
rev1: {_number: 1},
},
current_revision: 'rev1',
status: 'NEW',
is_private: true,
work_in_progress: true,
labels: {},
};
const status = element.changeStatusString(change);
assert.equal(status, ' (Private) (WIP)');
});
test('Abandoned status with private and wip', () => {
const change = {
change_id: 'Iad9dc96274af6946f3632be53b106ef80f7ba6ca',
revisions: {
rev1: {_number: 1},
},
current_revision: 'rev1',
status: 'ABANDONED',
is_private: true,
work_in_progress: true,
labels: {},
};
const status = element.changeStatusString(change);
assert.equal(status, 'Abandoned (Private) (WIP)');
});
});
</script>