У меня есть компонент React с именем Product , который выглядит следующим образом:
<div>
<Wrapper>
<Heading>{props.headerText}</Heading>
<Service>({props.items.length})</Service>
</Wrapper>
{props.items !== undefined && props.items.length > 0 ? (
<TableWrapper>
{props.items &&
props.items.length > 0 && (
<DataTable paginationSize={props.paginationSize}>
<DataTable.Heading accessor="name"> Name </DataTable.Heading>
<DataTable.Heading accessor="id"> Service ID </DataTable.Heading>
<DataTable.Heading accessor="type"> Access </DataTable.Heading>
<DataTable.Heading accessor="band"> Band </DataTable.Heading>
<DataTable.Heading accessor="noUsers"> Users </DataTable.Heading>
{props.tableItems.map((p, i) => {
return <DataTable.Row key={i} data={p} />;
})}
</DataTable>
)}
</TableWrapper>
) : (
<NoMessage>{props.noItemMessage}</NoMessage>
)}
</div>
, где Оболочка , Заголовок , Сервис , TableWrapper являются стилевыми компонентами.Я пытаюсь протестировать этот компонент, используя Jest и Enzyme, чтобы проверить, правильно ли отображается headerText prop . Ниже приведен код, как я пытаюсь написать свой тестовый пример:
test("header text is being passed through correctly", () => {
const wrapper = mount(
<Product items={data} headerText="Service" paginationSize="5" noItemMessage="No results found" />
);
expect(wrapper.find(HeaderText).text()).toEqual("Service");
но я получаю эту ошибку как:
TypeError: Cannot read property 'blue' of undefined
at Object.<anonymous>.exports.RightArrow.Icons.RightArrow.extend.props (src/lib/DataTable.js:149:129)
и строка 149 в DataTable.js:
color: ${props => props.theme.secondary.blue};
Я не могу понять, почему я получаю эту ошибку,Может кто-нибудь, пожалуйста, направьте меня с этим вопросом?Я просто пытаюсь проверить, правильно ли отображается headerText из реквизита.