Я хочу проверить, что правильный компонент отображается, когда у опоры есть определенные значения true
или false
.
Вот код:
/* eslint-disable react/default-props-match-prop-types */
import React, { Fragment } from 'react';
import moment from 'moment';
import ILicense from 'dto/ILicense';
import Icon from 'components/Icon';
export interface Props {
license?: ILicense;
}
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
const LicenseInfo = <T extends object>({ license }: Props & T) => (
<Fragment>
{license ? (
<Fragment>
<div className="py-5 mx-3">
{license.isValid? (
<div>
<Icon icon="check" className="fa-lg text-success mr-2" />
License is Valid
</div>
) : (
<div>
<Icon icon="exclamation-circle" className="fa-lg text-danger mr-2" />
License has expired
</div>
)}
</Fragment>
) : null}
</Fragment>
);
LicenseInfo.defaultProps = {
clientId: '',
expiry: null,
isValid: true,
};
export default LicenseInfo;
А здесьмой тестовый пример: If the prop isValid is true
, рендеринг компонента Icon с пиктограммой prop check
, иначе другой.
Вот мой тест:
it('expect to show check Icon when license.isValid prop is true', () => {
const wrapper = mount<LicenseInfo>(<LicenseInfo isValid="true">Test</LicenseInfo>);
const check = wrapper.find(<Icon icon="check" />).props;
console.log(check);
expect(check).toBeTruthy();
});
Проблема, которую я считаюв check
.101 console.log
это и получите это ReactWrapper {}
..
Есть идеи, как правильно это сделать ...?Спасибо !!