Mock open and refit function for gr-overlay
* Checks is importing gr-overlay and instead of mocking the entire
element, mock only the necessary open and refit function so that
the dialog can be properly rendered.
When mocking gr-overlay as a whole, the dialog was not being rendered.
Change-Id: Ia919a38ec3b96f3e37531f8d03ee545b38a6bd9e
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);
});