* origin/develop: Restore list item title attributes (#8858) Fix mobile sync redirect (#8860) Align copy tooltip text and icon (#8861) Update inpage provider, deprecation warnings (#8854) Update test-dapp (#8856) Return after 'reject' in Promise constructor (#8857) Replace removed 'copy-to-clipboard' icon (#8853) Stop upper-casing exported private key (#8850)feature/default_network_editable
commit
b34dbe9ae1
@ -0,0 +1,75 @@ |
||||
import { shallow } from 'enzyme' |
||||
import React from 'react' |
||||
import ListItem from '../list-item.component' |
||||
import assert from 'assert' |
||||
import Sinon from 'sinon' |
||||
import Preloader from '../../icon/preloader/preloader-icon.component' |
||||
import Send from '../../icon/send-icon.component' |
||||
|
||||
const TITLE = 'Hello World' |
||||
const SUBTITLE = <p>I am a list item</p> |
||||
const CLASSNAME = 'list-item-test' |
||||
const RIGHT_CONTENT = <p>Content rendered to the right</p> |
||||
const CHILDREN = <button>I am a button</button> |
||||
const MID_CONTENT = <p>Content rendered in the middle</p> |
||||
|
||||
describe('ListItem', function () { |
||||
let wrapper |
||||
let clickHandler |
||||
before(function () { |
||||
clickHandler = Sinon.fake() |
||||
wrapper = shallow( |
||||
<ListItem |
||||
className={CLASSNAME} |
||||
title={TITLE} |
||||
data-testid="test-id" |
||||
subtitle={SUBTITLE} |
||||
rightContent={RIGHT_CONTENT} |
||||
midContent={MID_CONTENT} |
||||
icon={<Send />} |
||||
titleIcon={<Preloader />} |
||||
onClick={clickHandler} |
||||
> |
||||
{CHILDREN} |
||||
</ListItem> |
||||
) |
||||
}) |
||||
it('includes the data-testid', function () { |
||||
assert.equal(wrapper.props()['data-testid'], 'test-id') |
||||
}) |
||||
it(`renders "${TITLE}" title`, function () { |
||||
assert.equal(wrapper.find('.list-item__heading h2').text(), TITLE) |
||||
}) |
||||
it('adds html title to heading element', function () { |
||||
assert.equal(wrapper.find('.list-item__heading').props().title, TITLE) |
||||
}) |
||||
it(`renders "I am a list item" subtitle`, function () { |
||||
assert.equal(wrapper.find('.list-item__subheading').text(), 'I am a list item') |
||||
}) |
||||
it('attaches external className', function () { |
||||
assert(wrapper.props().className.includes(CLASSNAME)) |
||||
}) |
||||
it('renders content on the right side of the list item', function () { |
||||
assert.equal(wrapper.find('.list-item__right-content p').text(), 'Content rendered to the right') |
||||
}) |
||||
it('renders content in the middle of the list item', function () { |
||||
assert.equal(wrapper.find('.list-item__mid-content p').text(), 'Content rendered in the middle') |
||||
}) |
||||
it('renders list item actions', function () { |
||||
assert.equal(wrapper.find('.list-item__actions button').text(), 'I am a button') |
||||
}) |
||||
it('renders the title icon', function () { |
||||
assert(wrapper.find(Preloader)) |
||||
}) |
||||
it('renders the list item icon', function () { |
||||
assert(wrapper.find(Send)) |
||||
}) |
||||
it('handles click action and fires onClick', function () { |
||||
wrapper.simulate('click') |
||||
assert.equal(clickHandler.callCount, 1) |
||||
}) |
||||
|
||||
after(function () { |
||||
Sinon.restore() |
||||
}) |
||||
}) |
Loading…
Reference in new issue