Можно ли протестировать нестандартные реквизиты, передаваемые стилизованным компонентам, с помощью jest-фермента.
Я попробовал это.
Реквизит:
props = {
props,
options: [
{ name: "test", enabled: true, total_no: 3 },
{ name: "test_1", enabled: false, total_no: 3 }
]
};
тест:
RadioButton является стилизованным компонентом
describe("when option is enabled", () => {
let radioButtons;
beforeEach(() => {
radioButtons = enzymeFind(component, RadioButton);
});
it("Radio button recieves enabled as props", () => {
const enableOptions = radioButtons.map(node =>
node.prop("enableOption")
);
const enabledProps = props.options.map(item => item.enabled);
expect(enableOptions).toEqual(enabledProps);
});
})
код компонента:
{this.props.options.map(item => {
return (
<ItemWrapper key={item.name} enableOption={item.enabled}>
<RadioButton
still={true}
enableOption={item.enabled}
onClick={item.enabled ? this.selectOption(item) : undefined}
>
</RadioButton>
</ItemWrapper>
Тест не пройден, давая неопределенное значение.