mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
89 lines
2.3 KiB
JavaScript
89 lines
2.3 KiB
JavaScript
import { mount } from '@vue/test-utils'
|
|
import InputHour from './InputHour'
|
|
|
|
const localVue = global.localVue
|
|
|
|
describe('InputHour', () => {
|
|
let wrapper
|
|
|
|
const mocks = {
|
|
$t: jest.fn((t) => t),
|
|
$i18n: {
|
|
locale: jest.fn(() => 'en'),
|
|
},
|
|
$n: jest.fn((n) => String(n)),
|
|
$route: {
|
|
params: {},
|
|
},
|
|
}
|
|
|
|
describe('mount', () => {
|
|
const propsData = {
|
|
rules: {},
|
|
name: 'input-field-name',
|
|
label: 'input-field-label',
|
|
placeholder: 'input-field-placeholder',
|
|
value: 500,
|
|
validMaxTime: 25,
|
|
}
|
|
|
|
const Wrapper = () => {
|
|
return mount(InputHour, {
|
|
localVue,
|
|
mocks,
|
|
propsData,
|
|
})
|
|
}
|
|
|
|
beforeEach(() => {
|
|
wrapper = Wrapper()
|
|
// await wrapper.setData({ currentValue: 15 })
|
|
})
|
|
|
|
it('renders the component input-hour', () => {
|
|
expect(wrapper.find('div.input-hour').exists()).toBe(true)
|
|
})
|
|
|
|
it('has an input field', () => {
|
|
expect(wrapper.find('input').exists()).toBeTruthy()
|
|
})
|
|
|
|
describe('properties', () => {
|
|
it('has the id "input-field-name-input-field"', () => {
|
|
expect(wrapper.find('input').attributes('id')).toEqual('input-field-name-input-field')
|
|
})
|
|
|
|
it('has the placeholder "input-field-placeholder"', () => {
|
|
expect(wrapper.find('input').attributes('placeholder')).toEqual('input-field-placeholder')
|
|
})
|
|
|
|
it('has the value 0', () => {
|
|
expect(wrapper.vm.currentValue).toEqual(0)
|
|
})
|
|
|
|
it('has the label "input-field-label"', () => {
|
|
expect(wrapper.find('label').text()).toEqual('input-field-label')
|
|
})
|
|
|
|
it('has the label for "input-field-name-input-field"', () => {
|
|
expect(wrapper.find('label').attributes('for')).toEqual('input-field-name-input-field')
|
|
})
|
|
})
|
|
|
|
describe('input value changes', () => {
|
|
it('emits input with new value', async () => {
|
|
await wrapper.find('input').setValue('12')
|
|
expect(wrapper.emitted('input')).toBeTruthy()
|
|
expect(wrapper.emitted('input')).toEqual([['12']])
|
|
})
|
|
})
|
|
|
|
describe('value property changes', () => {
|
|
it('updates data model', async () => {
|
|
await wrapper.setProps({ value: 15 })
|
|
expect(wrapper.vm.currentValue).toEqual(15)
|
|
})
|
|
})
|
|
})
|
|
})
|