58 lines
1.7 KiB
JavaScript

var expect = require("chai").expect;
module.exports = function (helpers) {
var colors = ["blue", "green", "red"];
var component = helpers.mount(require.resolve("./index"), {
color: colors[0],
});
if (helpers.isHydrate) {
// When hydrating, the first color item was rendered on the
// server so there is no corresponding attach event f
// we'll push an empty event so the indexes line up
component.events.push(null);
} else {
expect(component.events.length).to.equal(1);
expect(component.events[0].color).to.equal("blue");
expect(component.events[0].node).to.equal(
component.el.querySelectorAll("li")[0],
);
}
component.input = { color: colors[1] };
component.update();
expect(component.events.length).to.equal(2);
expect(component.events[1].color).to.equal(colors[1]);
expect(component.events[1].node).to.equal(
component.el.querySelectorAll("li")[0],
);
component.input = { color: colors[2] };
component.update();
expect(component.events.length).to.equal(3);
expect(component.events[2].color).to.equal(colors[2]);
expect(component.events[2].node).to.equal(
component.el.querySelectorAll("li")[0],
);
component.input = { color: colors[0] };
component.update();
expect(component.events.length).to.equal(4);
expect(component.events[3].color).to.equal(colors[0]);
expect(component.events[3].node).to.equal(
component.el.querySelectorAll("li")[0],
);
component.input = { color: colors[2] };
component.update();
expect(component.events.length).to.equal(5);
expect(component.events[4].color).to.equal(colors[2]);
expect(component.events[4].node).to.equal(
component.el.querySelectorAll("li")[0],
);
};