let calls = []; function callback(refs) { calls.push(refs.map(({ ref }) => ({ ref }))); } export default { html: '', props: { callback }, before_test() { calls = []; }, async test({ assert, component, target }) { assert.equal(calls.length, 1); assert.equal(calls[0].length, 0); await component.addItem(); let divs = target.querySelectorAll('div'); assert.equal(calls.length, 3); assert.equal(calls[1].length, 1); assert.equal(calls[1][0].ref, null); assert.equal(calls[2].length, 1); assert.equal(calls[2][0].ref, divs[0]); await component.addItem(); divs = target.querySelectorAll('div'); assert.equal(calls.length, 5); assert.equal(calls[3].length, 2); assert.equal(calls[3][0].ref, divs[0]); assert.equal(calls[3][1].ref, null); assert.equal(calls[4].length, 2); assert.equal(calls[4][0].ref, divs[0]); assert.equal(calls[4][1].ref, divs[1]); await component.addItem(); divs = target.querySelectorAll('div'); assert.equal(calls.length, 7); assert.equal(calls[5].length, 3); assert.equal(calls[5][0].ref, divs[0]); assert.equal(calls[5][1].ref, divs[1]); assert.equal(calls[5][2].ref, null); assert.equal(calls[6].length, 3); assert.equal(calls[6][0].ref, divs[0]); assert.equal(calls[6][1].ref, divs[1]); assert.equal(calls[6][2].ref, divs[2]); } };