export default { async test({ assert, component, target, window }) { // set first await component.lists.update(() => [ { text: "item1" }, { text: "item2" }, { text: "item3" } ]); await component.lists.update(() => [ { text: "item3" }, { text: "item2" }, { text: "item1" } ]); await component.lists.update(() => [ { text: "item1" }, { text: "item2" }, { text: "item3" } ]); assert.equal(component.updated, 4); const [item1, item2] = target.childNodes; const [item1Btn1, item1Btn2] = item1.querySelectorAll('button'); const [item2Btn1, item2Btn2] = item2.querySelectorAll('button'); const clickEvent = new window.MouseEvent('click'); await item1Btn1.dispatchEvent(clickEvent); assert.equal(component.getNormalCount(), 1); await item1Btn2.dispatchEvent(clickEvent); assert.equal(component.getModifierCount(), 1); await item2Btn1.dispatchEvent(clickEvent); assert.equal(component.getNormalCount(), 2); await item2Btn2.dispatchEvent(clickEvent); assert.equal(component.getModifierCount(), 2); } };