Merge "Fix failing tests"
diff --git a/gr-checks/gr-checks-item_test.html b/gr-checks/gr-checks-item_test.html
index dc155dc..826f99d 100644
--- a/gr-checks/gr-checks-item_test.html
+++ b/gr-checks/gr-checks-item_test.html
@@ -43,18 +43,18 @@
teardown(() => { sandbox.restore(); });
test('renders the status', () => {
- const status = element.$$('td:nth-child(3) > gr-checks-status');
+ const status = element.$$('td:nth-child(4) > gr-checks-status');
assert.exists(status);
});
test('renders the run time', () => {
- const name = element.$$('td:nth-child(5)');
+ const name = element.$$('td:nth-child(6)');
assert.equal(name .textContent.trim(), "11:25:19 PM");
});
suite('duration', () => {
test('renders the run duration', () => {
- const name = element.$$('td:nth-child(6)');
+ const name = element.$$('td:nth-child(7)');
assert.equal(name .textContent.trim(), "25 sec");
});
@@ -65,13 +65,13 @@
started: "2019-02-06T22:25:19.269Z",
finished: "2019-02-06T22:25:19.269Z",
};
- const name = element.$$('td:nth-child(6)');
+ const name = element.$$('td:nth-child(7)');
assert.equal(name .textContent.trim(), "0 sec");
});
});
test('renders a link to the log', () => {
- const logLink = element.$$('td:nth-child(7) > a');
+ const logLink = element.$$('td:nth-child(8) > a');
assert.equal(logLink.getAttribute('href'), "http://example.com/test-log-url");
assert.equal(logLink.textContent.trim(), "View log");
});
diff --git a/gr-checks/gr-checks-status_test.html b/gr-checks/gr-checks-status_test.html
index 24b00d0..bc59777 100644
--- a/gr-checks/gr-checks-status_test.html
+++ b/gr-checks/gr-checks-status_test.html
@@ -59,7 +59,8 @@
testStatus('successful', 'Successful', ['SUCCESSFUL']);
testStatus('failed', 'Failed', ['FAILED']);
- testStatus('running', 'In progress', ['RUNNING', 'SCHEDULED']);
+ testStatus('running', 'Running', ['RUNNING']);
+ testStatus('running', 'Scheduled', ['SCHEDULED']);
testStatus('unevaluated', 'Unevaluated', ['NOT_STARTED']);
});
</script>
diff --git a/gr-checks/gr-checks-view_test.html b/gr-checks/gr-checks-view_test.html
index d26045e..0e133df 100644
--- a/gr-checks/gr-checks-view_test.html
+++ b/gr-checks/gr-checks-view_test.html
@@ -15,6 +15,7 @@
revision="[[revision]]"
get-checks="[[getChecks]]"
is-configured="[[isConfigured]]"
+ plugin="[[plugin]]"
retry-check="[[retryCheck]]">
</gr-checks-view>
</template>
@@ -26,6 +27,7 @@
logUrl: 'http://example.com/test-log-url',
startTime: "2019-02-06T22:25:19.269Z",
finishTime: "2019-02-06T22:25:44.574Z",
+ checker_name: "test checker"
};
const REVISION = {
"kind": "REWORK",
@@ -51,6 +53,10 @@
let retryCheckSpy;
let isConfiguredSpy;
let isConfiguredResolve;
+ let getAccountSpy, getAccountPromise, getAccountResolve;
+ let fetchJSONSpy, fetchJSONPromise, fetchJSONResolve;
+ let getAccountCapabilitiesSpy, getAccountCapabilitiesPromise,
+ getAccountCapabilitiesResolve;
setup((done) => {
sandbox = sinon.sandbox.create();
@@ -70,6 +76,31 @@
retryCheckSpy = sinon.stub();
retryCheckSpy.returns(Promise.resolve());
+ const plugin = {};
+ getAccountSpy = sinon.stub();
+ const getAccountPromise = new Promise((resolve, reject) => {
+ getAccountResolve = resolve;
+ })
+ getAccountSpy.returns(getAccountPromise);
+
+ fetchJSONSpy = sinon.stub();
+ const fetchJSONPromise = new Promise((resolve, reject) => {
+ fetchJSONResolve = resolve;
+ })
+ fetchJSONSpy.returns(fetchJSONPromise)
+
+ getAccountCapabilitiesSpy = sinon.stub();
+ const getAccountCapabilitiesPromise = new Promise((resolve, reject) => {
+ getAccountCapabilitiesResolve = resolve;
+ })
+ getAccountCapabilitiesSpy.returns(getAccountCapabilitiesPromise);
+
+ plugin.restApi = () => ({
+ getAccount: getAccountSpy,
+ fetchJSON: fetchJSONSpy,
+ getAccountCapabilities: getAccountCapabilitiesSpy
+ });
+
element = fixture('basic', {
retryCheck: retryCheckSpy,
getChecks: getChecksSpy,
@@ -80,8 +111,9 @@
'revisions': {
'first-sha': "test-revision",
'second-sha': REVISION,
- }
+ },
},
+ plugin: plugin,
revision: REVISION,
});
flush(done);
@@ -90,7 +122,8 @@
teardown(() => { sandbox.restore(); });
test('renders loading', () => {
- assert.equal(element.textContent.trim(), 'Loading...');
+ // Element also contains the hidden gr-overlay hence use includes
+ assert(element.textContent.trim().includes('Loading...'));
});
test('queries the checks', () => {
@@ -109,6 +142,10 @@
assert.isTrue(isConfiguredSpy.calledWith('test-repository'));
});
+ test('no configure button renders', () => {
+ assert(!element.$$('gr-button'));
+ })
+
suite('not configured', () => {
setup((done) => {
isConfiguredResolve(false);
@@ -119,6 +156,29 @@
const header = element.$$('h2');
assert.equal(header.textContent.trim(), 'Code review checks not configured');
});
+
+ suite('create checker capability false', () => {
+ setup((done) => {
+ getAccountResolve(true);
+ getAccountCapabilitiesResolve({'checks-administrateCheckers': false});
+ flush(done);
+ });
+ test('checker button does not render', () => {
+ assert(!element.$$('gr-button'));
+ });
+ });
+
+ suite('create checker capability true', () => {
+ setup((done) => {
+ getAccountResolve(true);
+ getAccountCapabilitiesResolve({'checks-administrateCheckers': true});
+ flush(done);
+ });
+ test('checker button renders', () => {
+ assert(element.$$('gr-button'));
+ });
+ });
+
});
suite('no checks ran', () => {
@@ -153,6 +213,29 @@
const tbody = element.$$('table > tbody');
assert.lengthOf(tbody.querySelectorAll('gr-checks-item'), 3)
});
+
+ suite('create checker capability false', () => {
+ setup((done) => {
+ getAccountResolve(true);
+ getAccountCapabilitiesResolve({'checks-administrateCheckers': false});
+ flush(done);
+ });
+ test('checker button does not render', () => {
+ assert(!element.$$('gr-button'));
+ });
+ });
+
+ suite('create checker capability true', () => {
+ setup((done) => {
+ getAccountResolve(true);
+ getAccountCapabilitiesResolve({'checks-administrateCheckers': true});
+ flush(done);
+ });
+ test('checker button renders', () => {
+ assert(element.$$('gr-button'));
+ });
+ });
+
});
});
</script>