skillbox/client/tests/unit/toggle.spec.js

33 lines
997 B
JavaScript

import {mount} from '@vue/test-utils';
import Toggle from '@/components/ui/Toggle';
describe('Toggle.vue', () => {
it('should toggle the input value from true to false and back', async () => {
let checked = false;
const props = {
label: 'Some toggle label',
checked: checked,
};
const wrapper = mount(Toggle, {
propsData: props
});
const label = wrapper.find('[data-cy=toggle-label]');
expect(label.text()).toContain('Some toggle label');
const input = wrapper.find('[data-cy=toggle-checkbox');
console.log(input.element);
expect(input.element.checked).toBe(false);
wrapper.trigger('click');
expect(input.element.checked).toBe(true);
wrapper.trigger('click');
expect(input.element.checked).toBe(false);
// expect(wrapper.emitted()['change-text'][0]).toEqual([inputText, props.index]);
expect(wrapper.emitted().input.length).toBe(2);
expect(wrapper.emitted().input).toEqual([[true], [false]]);
});
});