| <!DOCTYPE html> |
| <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes"> |
| <script src="/node_modules/@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js"></script> |
| <script src="../node_modules/@webcomponents/webcomponentsjs/webcomponents-loader.js"></script> |
| <script src="../bower_components/web-component-tester/browser.js"></script> |
| |
| <title>gr-checks-item</title> |
| |
| <test-fixture id="basic"> |
| <template> |
| <gr-checks-status></gr-checks-status> |
| </template> |
| </test-fixture> |
| |
| <script type="module"> |
| import '../test/common-test-setup.js'; |
| import './gr-checks-status.js'; |
| suite('gr-checks-status tests', () => { |
| let sandbox; |
| |
| setup(() => { |
| sandbox = sinon.sandbox.create(); |
| }); |
| |
| teardown(() => { sandbox.restore(); }); |
| |
| function testStatus(expectedStatusClass, statusText, statusesToTest) { |
| suite(expectedStatusClass, () => { |
| for (const statusToTest of statusesToTest) { |
| test(`renders ${expectedStatusClass} for ${statusToTest}`, done => { |
| const element = fixture('basic'); |
| element.status = statusToTest; |
| element.showText = false; |
| |
| flush(() => { |
| const svg = element.shadowRoot.querySelector(`span svg`); |
| assert.isOk(svg); |
| done(); |
| }); |
| }); |
| test(`renders ${expectedStatusClass} for ${statusToTest} rendering |
| text ${statusText}`, done => { |
| const element = fixture('basic'); |
| element.status = statusToTest; |
| element.showText = true; |
| |
| flush(() => { |
| const text = element.shadowRoot.querySelector(`span span`); |
| assert.equal(text.textContent.trim(), statusText); |
| done(); |
| }); |
| }); |
| } |
| }); |
| } |
| |
| testStatus('successful', 'Successful', ['SUCCESSFUL']); |
| testStatus('failed', 'Failed', ['FAILED']); |
| testStatus('running', 'Running', ['RUNNING']); |
| testStatus('running', 'Scheduled', ['SCHEDULED']); |
| testStatus('unevaluated', 'Unevaluated', ['NOT_STARTED']); |
| }); |
| </script> |