let fulfil; let thePromise = new Promise(f => { fulfil = f; }); export default { data: { thePromise }, html: `
loading...
loading...
`, test(assert, component, target) { fulfil(42); return thePromise .then(() => { assert.htmlEqual(target.innerHTML, `the value is 42
the value is 42
`); let reject; thePromise = new Promise((f, r) => { reject = r; }); component.set({ thePromise }); assert.htmlEqual(target.innerHTML, `loading...
loading...
`); reject(new Error('something broke')); return thePromise.catch(() => {}); }) .then(() => { assert.htmlEqual(target.innerHTML, `oh no! something broke
oh no! something broke
`); }); } };