client/app/ElementList/components/PledgeList_test.js
import React from 'react'
import { shallow } from 'enzyme'
import PledgeList from './PledgeList'
import PledgeTile from '../../PledgeTile/components/PledgeTile'
describe('<PledgeList />', function() {
describe('with basic props', function() {
const props = {
pledges: []
}
it('should output a ul and no PledgeTiles', function() {
const wrapper = shallow(
<PledgeList {...props} />
)
const ul = wrapper.find('ul')
ul.length.should.equal(1)
ul.props().className.should.equal('o-layout')
const tile = wrapper.find(PledgeTile)
tile.length.should.equal(0)
})
})
describe('with pledges', function() {
const props = {
pledges: [
{
id: 1,
aasm_state: 'active',
title: 'testTitle',
content: 'test',
amount: 10,
who: 'test',
requirement: 'test',
deadline: '2000-01-01',
signatures_count: 0,
initiator: {
name: 'Max Mustermann',
avatar: {
avatar: {
url: 'dummy'
}
}
},
locale: 'de',
tags: [
{
id: 1,
name: 'family',
color: 'C32BAA'
},
{
id: 2,
name: 'books',
color: 'FF11AA'
}
]
},
{
id: 2,
aasm_state: 'successful',
title: 'testTitle',
content: 'test',
amount: 10,
who: 'test',
requirement: 'test',
deadline: '2000-01-01',
signatures_count: 0,
initiator: {
name: 'Max Mustermann',
avatar: {
avatar: {
url: 'dummy'
}
}
},
locale: 'en',
tags: []
},
{
id: 3,
aasm_state: 'initialized',
title: 'testTitle',
content: 'test',
amount: 10,
who: 'test',
requirement: 'test',
deadline: '2000-01-01',
signatures_count: 0,
initiator: {
name: 'Max Mustermann',
avatar: {
avatar: {
url: 'dummy'
}
}
},
locale: 'de',
tags: []
}
]
}
it('should output PledgeTiles', function() {
const wrapper = shallow(
<PledgeList {...props} />
)
const tiles = wrapper.find(PledgeTile)
tiles.length.should.equal(3)
}
)
})
})