mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
115 lines
3.1 KiB
JavaScript
115 lines
3.1 KiB
JavaScript
import { mount } from '@vue/test-utils'
|
|
import ContributionLink from './ContributionLink.vue'
|
|
|
|
const localVue = global.localVue
|
|
|
|
const mocks = {
|
|
$t: jest.fn((t) => t),
|
|
$d: jest.fn((d) => d),
|
|
}
|
|
|
|
const propsData = {
|
|
items: [
|
|
{
|
|
id: 1,
|
|
name: 'Meditation',
|
|
memo: 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut l',
|
|
amount: '200',
|
|
validFrom: '2022-04-01',
|
|
validTo: '2022-08-01',
|
|
cycle: 'täglich',
|
|
maxPerCycle: '3',
|
|
maxAmountPerMonth: 0,
|
|
link: 'https://localhost/redeem/CL-1a2345678',
|
|
},
|
|
],
|
|
count: 1,
|
|
}
|
|
|
|
describe('ContributionLink', () => {
|
|
let wrapper
|
|
|
|
const Wrapper = () => {
|
|
return mount(ContributionLink, { localVue, mocks, propsData })
|
|
}
|
|
|
|
describe('mount', () => {
|
|
beforeEach(() => {
|
|
wrapper = Wrapper()
|
|
})
|
|
|
|
it('renders the Div Element ".contribution-link"', () => {
|
|
expect(wrapper.find('div.contribution-link').exists()).toBe(true)
|
|
})
|
|
|
|
it('has one contribution link in table', () => {
|
|
expect(wrapper.find('div.contribution-link-list').find('tbody').findAll('tr')).toHaveLength(1)
|
|
})
|
|
|
|
it('has contribution form not visible by default', () => {
|
|
expect(wrapper.find('#newContribution').isVisible()).toBe(false)
|
|
})
|
|
|
|
describe('click on create new contribution', () => {
|
|
beforeEach(async () => {
|
|
await wrapper.find('[data-test="new-contribution-link-button"]').trigger('click')
|
|
})
|
|
|
|
it('shows the contribution form', () => {
|
|
expect(wrapper.find('#newContribution').isVisible()).toBe(true)
|
|
})
|
|
|
|
describe('click on create new contribution again', () => {
|
|
beforeEach(async () => {
|
|
await wrapper.find('[data-test="new-contribution-link-button"]').trigger('click')
|
|
})
|
|
|
|
it('closes the contribution form', () => {
|
|
expect(wrapper.find('#newContribution').isVisible()).toBe(false)
|
|
})
|
|
})
|
|
|
|
describe('click on close button', () => {
|
|
beforeEach(async () => {
|
|
await wrapper.find('button.btn-secondary').trigger('click')
|
|
})
|
|
|
|
it('closes the contribution form', () => {
|
|
expect(wrapper.find('#newContribution').isVisible()).toBe(false)
|
|
})
|
|
})
|
|
})
|
|
|
|
describe('edit contribution link', () => {
|
|
beforeEach(async () => {
|
|
await wrapper
|
|
.find('div.contribution-link-list')
|
|
.find('tbody')
|
|
.findAll('tr')
|
|
.at(0)
|
|
.findAll('button')
|
|
.at(1)
|
|
.trigger('click')
|
|
})
|
|
|
|
it('shows the contribution form', () => {
|
|
expect(wrapper.find('#newContribution').isVisible()).toBe(true)
|
|
})
|
|
|
|
it('does not show the new contribution button', () => {
|
|
expect(wrapper.find('[data-test="new-contribution-link-button"]').exists()).toBe(false)
|
|
})
|
|
|
|
describe('click on close button', () => {
|
|
beforeEach(async () => {
|
|
await wrapper.find('button.btn-secondary').trigger('click')
|
|
})
|
|
|
|
it('closes the contribution form', () => {
|
|
expect(wrapper.find('#newContribution').isVisible()).toBe(false)
|
|
})
|
|
})
|
|
})
|
|
})
|
|
})
|