Merge "Update check from new value instead of merging into old object"
diff --git a/README.md b/README.md
index 41f6dfd..5ac6c4e 100644
--- a/README.md
+++ b/README.md
@@ -8,6 +8,8 @@
After `bower install`, running `polymer test -l chrome` will run all tests in Chrome, and running `polymer serve`
and navigating to http://127.0.0.1:8081/components/checks/gr-checks/gr-checks-view_test.html allows for manual debugging.
+The test file should be added to test/index.html if it needs to be run via `polymer test`.
+
When upgrading the plugin, please use init:
java -jar gerrit.war init -d site_path
diff --git a/gr-checks/gr-checkers-list_test.html b/gr-checks/gr-checkers-list_test.html
index 5e0fb47..11eb7f4 100644
--- a/gr-checks/gr-checkers-list_test.html
+++ b/gr-checks/gr-checkers-list_test.html
@@ -9,22 +9,6 @@
<title>gr-checkers-list-view</title>
<link rel="import" href="gr-checkers-list.html">
-<!-- Gr-overlay does not exist in the test framework
-It is expected to be provided by Gerrit core -->
-<dom-module id="gr-overlay">
- <template>
- </template>
- <script>
- readyToTest().then(() => {
- Polymer({
- is: 'gr-overlay',
- refit() {},
- open() { return Promise.resolve({}); },
- });
- });
- </script>
-</dom-module>
-
<test-fixture id="basic">
<template is="dom-template">
<gr-checkers-list
@@ -186,24 +170,29 @@
await readyToTest();
let element;
let sandbox;
- let fetchJSONSpy; let fetchJSONResolve;
+ let getSpy; let getResolve;
setup(done => {
sandbox = sinon.sandbox.create();
- fetchJSONSpy = sinon.stub();
- const fetchJSONPromise = new Promise((resolve, reject) => {
- fetchJSONResolve = resolve;
+ getSpy = sinon.stub();
+ const getPromise = new Promise((resolve, reject) => {
+ getResolve = resolve;
});
- fetchJSONSpy.returns(fetchJSONPromise);
+ getSpy.returns(getPromise);
const pluginRestApi = {
- fetchJSON: fetchJSONSpy,
+ get: getSpy,
};
element = fixture('basic', {
pluginRestApi,
});
+
+ element.$.listOverlay.refit = () => {};
+ element.$.listOverlay.open = () => {
+ return Promise.resolve(() => {});
+ };
flush(done);
});
@@ -216,7 +205,7 @@
const expectedHeadings = ['Checker Name', 'Repository', 'Status',
'Required', 'Checker Description', 'Edit'];
for (let i = 0; i < headings.length; i++) {
- assert(headings[i].innerText === expectedHeadings[i]);
+ assert(headings[i].innerText.trim() === expectedHeadings[i]);
}
});
@@ -230,7 +219,7 @@
suite('with checkers', () => {
setup(done => {
- fetchJSONResolve(CHECKERS);
+ getResolve(CHECKERS);
element._showConfigureOverlay();
flush(done);
});
diff --git a/gr-checks/gr-checks-item.js b/gr-checks/gr-checks-item.js
index 63777b9..3fd7912 100644
--- a/gr-checks/gr-checks-item.js
+++ b/gr-checks/gr-checks-item.js
@@ -63,7 +63,12 @@
_toggleMessageShown() {
this.showCheckMessage = !this.showCheckMessage;
- this.fire('toggle-check-message', {uuid: this.check.checker_uuid});
+ this.dispatchEvent(new CustomEvent('toggle-check-message',
+ {
+ detail: {uuid: this.check.checker_uuid},
+ bubbles: true,
+ composed: true,
+ }));
},
_computeExpandIcon(showCheckMessage) {
@@ -92,9 +97,13 @@
return (check.blocking && check.blocking.length === 0) ? 'Optional' :
'Required';
},
- _handleReRunClicked(event) {
- this.fire('retry-check', {uuid: this.check.checker_uuid},
- {bubbles: false});
+ _handleReRunClicked() {
+ this.dispatchEvent(new CustomEvent('retry-check',
+ {
+ detail: {uuid: this.check.checker_uuid},
+ bubbles: false,
+ composed: true,
+ }));
},
});
diff --git a/gr-checks/gr-checks-view.js b/gr-checks/gr-checks-view.js
index 135756f..8c92bb4 100644
--- a/gr-checks/gr-checks-view.js
+++ b/gr-checks/gr-checks-view.js
@@ -165,6 +165,7 @@
},
_handleRevisionUpdate(revision) {
+ if (!revision) return;
this._currentPatchSet = revision._number;
},
@@ -237,7 +238,12 @@
this._fetchChecks(this.change, this.revision._number,
this.getChecks);
}, error => {
- this.fire('show-error', {message: error.message});
+ this.dispatchEvent(new CustomEvent('show-error',
+ {
+ detail: {message: error.message},
+ bubbles: true,
+ composed: true,
+ }));
}
);
},
diff --git a/gr-checks/gr-checks-view_test.html b/gr-checks/gr-checks-view_test.html
index 5316a30..dce5364 100644
--- a/gr-checks/gr-checks-view_test.html
+++ b/gr-checks/gr-checks-view_test.html
@@ -358,7 +358,7 @@
test('retry fires show-error event', done => {
postReject(new Error('random error'));
- const fireStub = sandbox.stub(element, 'fire');
+ const fireStub = sandbox.stub(element, 'dispatchEvent');
Polymer.dom.flush();
const checksItem = element.querySelectorAll(
'table > tbody > gr-checks-item'
@@ -367,7 +367,7 @@
const reRunButton = reRun.querySelector('gr-button');
reRunButton.click();
flush(() => {
- assert(fireStub.calledWith('show-error'));
+ assert.equal(fireStub.firstCall.args[0].type, ('show-error'));
done();
});
});
diff --git a/gr-checks/gr-create-checkers-dialog.js b/gr-checks/gr-create-checkers-dialog.js
index b045774..dc502c7 100644
--- a/gr-checks/gr-create-checkers-dialog.js
+++ b/gr-checks/gr-create-checkers-dialog.js
@@ -71,14 +71,11 @@
_query: String,
},
- behaviors: [
- Gerrit.FireBehavior,
- ],
/**
- * Fired when the cancel button is pressed.
- *
- * @event cancel
- */
+ * Fired when the cancel button is pressed.
+ *
+ * @event cancel
+ */
observers: [
'_updateUUID(_scheme, _id)',
@@ -176,7 +173,13 @@
res => {
if (res) {
this._errorMsg = '';
- this.fire('cancel', {reload: true}, {bubbles: true});
+ this.dispatchEvent(new CustomEvent('cancel',
+ {
+ detail: {reload: true},
+ bubbles: true,
+ composed: true,
+ }
+ ));
}
},
error => {
@@ -224,7 +227,13 @@
this._required = false;
this._query = '';
this._status = '';
- this.fire('cancel', {reload: true}, {bubbles: true});
+ this.dispatchEvent(new CustomEvent('cancel',
+ {
+ detail: {reload: true},
+ bubbles: true,
+ composed: true,
+ }
+ ));
},
_repoSuggestions(filter) {
diff --git a/gr-checks/gr-repo-chip.js b/gr-checks/gr-repo-chip.js
index 19aff38..2e90b3f 100644
--- a/gr-checks/gr-repo-chip.js
+++ b/gr-checks/gr-repo-chip.js
@@ -16,7 +16,12 @@
},
_handleRemove(e) {
e.preventDefault();
- this.fire('remove', {repo: this.repo});
+ this.dispatchEvent(new CustomEvent('remove',
+ {
+ detail: {repo: this.repo},
+ bubbles: true,
+ composed: true,
+ }));
},
});
})();
\ No newline at end of file
diff --git a/test/index.html b/test/index.html
index f132465..fa9b923 100644
--- a/test/index.html
+++ b/test/index.html
@@ -30,5 +30,6 @@
'../gr-checks/gr-checks-item_test.html',
'../gr-checks/gr-checks-status_test.html',
'../gr-checks/gr-checks-view_test.html',
+ '../gr-checks/gr-checkers-list_test.html'
]);
</script>
\ No newline at end of file