import React from 'react'; import { shallow } from 'enzyme'; import sinon from 'sinon'; import CurrencyDisplay from '../../ui/currency-display'; import * as currencyHook from '../../../hooks/useCurrencyDisplay'; import * as currencyPrefHook from '../../../hooks/useUserPreferencedCurrency'; import UserPreferencedCurrencyDisplay from '.'; describe('UserPreferencedCurrencyDisplay Component', () => { describe('rendering', () => { beforeEach(() => { sinon.stub(currencyHook, 'useCurrencyDisplay').returns(['1', {}]); sinon .stub(currencyPrefHook, 'useUserPreferencedCurrency') .returns({ currency: 'ETH', decimals: 6 }); }); afterEach(() => { sinon.restore(); }); it('should render properly', () => { const wrapper = shallow(); expect(wrapper).toHaveLength(1); expect(wrapper.find(CurrencyDisplay)).toHaveLength(1); }); it('should pass all props to the CurrencyDisplay child component', () => { const wrapper = shallow( , ); expect(wrapper).toHaveLength(1); expect(wrapper.find(CurrencyDisplay)).toHaveLength(1); expect(wrapper.find(CurrencyDisplay).props().prop1).toStrictEqual(true); expect(wrapper.find(CurrencyDisplay).props().prop2).toStrictEqual('test'); expect(wrapper.find(CurrencyDisplay).props().prop3).toStrictEqual(1); }); }); });