UNPKG

@api-components/http-method-selector

Version:
91 lines (81 loc) 2.73 kB
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes"> <script src="../../webcomponentsjs/webcomponents-lite.js"></script> <script src="../../web-component-tester/browser.js"></script> <link rel="import" href="../http-method-selector.html"> </head> <body> <test-fixture id="basic"> <template> <http-method-selector></http-method-selector> </template> </test-fixture> <script> function fire(name, detail, node) { const e = new CustomEvent(name, { bubbles: true, composed: true, cancelable: true, detail: detail }); (node || document).dispatchEvent(e); return e; } /* global fixture, assert, sinon */ suite('events', () => { var element; setup(() => { element = fixture('basic'); }); test('request-is-payload-status is handled', () => { const e = fire('request-is-payload-status', {}); assert.isTrue(e.defaultPrevented); assert.isFalse(e.detail.value); }); test('request-method-changed is handled', () => { fire('request-method-changed', { value: 'POST' }); assert.equal(element.method, 'POST'); }); test('request-method-changed does not fire request-method-changed event', () => { const spy = sinon.stub(); element.addEventListener('request-method-changed', spy); fire('request-method-changed', { value: 'POST' }); assert.isFalse(spy.called); }); test('request-method-changed is fired for method change', () => { const spy = sinon.stub(); element.addEventListener('request-method-changed', spy); element.method = 'POST'; assert.isTrue(spy.calledOnce); }); test('request-method-changed contains a value', (done) => { element.addEventListener('request-method-changed', function(e) { assert.equal(element.method, e.detail.value); done(); }); element.method = 'POST'; }); test('request-is-payload-changed is fired', () => { const spy = sinon.stub(); element.addEventListener('request-is-payload-changed', spy); element.method = 'POST'; assert.isTrue(spy.calledOnce); }); test('request-is-payload-changed contains a value', (done) => { element.addEventListener('request-is-payload-changed', function(e) { assert.isTrue(e.detail.value); done(); }); element.method = 'POST'; }); }); </script> </body> </html>