Add concept of auto generated messages to PolyGerrit UI (front end)

This change allows users to hide all robot generated messages in the
Polygerrit UI.

Feature: Issue 4595
Change-Id: I80f11dc48d15bd59a24fd008f9db72ff37cfdbda
This commit is contained in:
Becky Siegel
2016-10-19 12:41:13 -07:00
parent 6d5a2d3ed9
commit 51eef9372f
5 changed files with 163 additions and 4 deletions

View File

@@ -78,7 +78,7 @@ limitations under the License.
assert.isTrue(allMessageEls[i].expanded);
}
MockInteractions.tap(element.$$('.header gr-button'));
MockInteractions.tap(element.$$('#collapse-messages'));
allMessageEls =
Polymer.dom(element.root).querySelectorAll('gr-message');
for (var i = 0; i < allMessageEls.length; i++) {
@@ -86,6 +86,11 @@ limitations under the License.
}
});
test('hide messages does not appear when no automated messages',
function() {
assert.isOk(element.$$('#automatedMessageToggle[hidden]'));
});
test('scroll to message', function() {
var allMessageEls =
Polymer.dom(element.root).querySelectorAll('gr-message');
@@ -204,4 +209,77 @@ limitations under the License.
assert.deepEqual(messageElements[2].comments, {});
});
});
suite('gr-messages-list automate tests', function() {
var element;
var messages;
var randomMessage = function(opt_params) {
var params = opt_params || {};
var author1 = {
_account_id: 1115495,
name: 'Andrew Bonventre',
email: 'andybons@chromium.org',
};
return {
id: params.id || Math.random().toString(),
date: params.date || '2016-01-12 20:28:33.038000',
message: params.message || Math.random().toString(),
_revision_number: params._revision_number || 1,
author: params.author || author1,
tag: 'autogenerated:gerrit:replace',
};
};
setup(function() {
stub('gr-rest-api-interface', {
getConfig: function() { return Promise.resolve({}); },
getLoggedIn: function() { return Promise.resolve(false); },
});
element = fixture('basic');
messages = _.times(3, randomMessage);
element.messages = messages;
flushAsynchronousOperations();
});
test('hide autogenerated button is not hidden', function() {
assert.isNotOk(element.$$('#automatedMessageToggle[hidden]'));
});
test('autogenerated messages are not hidden initially', function() {
var allHiddenMessageEls =
Polymer.dom(element.root).querySelectorAll('gr-message[hidden]');
//There are no hidden messages.
assert.isFalse(!!allHiddenMessageEls.length);
});
test('autogenerated messages are hidden after clicking hide button',
function() {
var allHiddenMessageEls =
Polymer.dom(element.root).querySelectorAll('gr-message[hidden]');
element._hideAutomated = false;
MockInteractions.tap(element.$$('#automatedMessageToggle'));
allHiddenMessageEls =
Polymer.dom(element.root).querySelectorAll('gr-message[hidden]');
//Autogenerated messages are now hidden.
assert.isTrue(!!allHiddenMessageEls.length);
});
test('autogenerated messages are not hidden after clicking show button',
function() {
var allHiddenMessageEls =
Polymer.dom(element.root).querySelectorAll('gr-message[hidden]');
element._hideAutomated = true;
MockInteractions.tap(element.$$('#automatedMessageToggle'));
allHiddenMessageEls =
Polymer.dom(element.root).querySelectorAll('gr-message[hidden]');
//Autogenerated messages are now hidden.
assert.isFalse(!!allHiddenMessageEls.length);
});
});
</script>