From 647f384e4a5c53242a02fb34a40c78160c90266d Mon Sep 17 00:00:00 2001 From: Ramon Wenger Date: Tue, 1 Feb 2022 15:46:22 +0100 Subject: [PATCH] Add jest test for toggle --- client/tests/unit/toggle.spec.js | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 client/tests/unit/toggle.spec.js diff --git a/client/tests/unit/toggle.spec.js b/client/tests/unit/toggle.spec.js new file mode 100644 index 00000000..30cd1384 --- /dev/null +++ b/client/tests/unit/toggle.spec.js @@ -0,0 +1,32 @@ +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]]); + }); + +});