Тест на наличие / отсутствие скрытого поля с шуткой - PullRequest
0 голосов
/ 29 марта 2019
<div className="errorMsg" hidden={props.error === true ? false : true}>
  Error message text
</div>

У меня есть этот div, который скрыт, если props.Error имеет значение false, и отображается, если это правда. Я пытаюсь проверить, что текст появляется / не появляется в зависимости от значения проп. Поскольку я использую неглубокий рендер, тест expect(wrapper.find('.errorMsg').length).toEqual(1); всегда будет проходить независимо от того, является ли скрытый верным или нет. Я использую поверхностный рендер, потому что это необходимо для других моих тестов, и до сих пор я пробовал:

expect(wrapper.find('.garmentOriginErrorMsg').length).toEqual(0);
expect(wrapper.find('.errorMsg')).toHaveProperty('props', 'hidden: true')
expect(wrapper.find('.errorMsg').displayed()).toBeFalsy()
expect(wrapper.find('.errorMsg').hasStyle('display', 'none')).toBe(true)

Возможно ли это при поверхностном рендеринге, или я могу использовать только монтирование?

1 Ответ

1 голос
/ 29 марта 2019

Это должно работать с shallow:

expect(wrapper.find('.errorMsg').props().hidden).toBe(true);

Также, props.error === true ? false : true можно записать просто как !props.error

...