diff options
author | Jacques Erasmus <jerasmus@gitlab.com> | 2019-11-22 10:14:03 +0300 |
---|---|---|
committer | Jacques Erasmus <jerasmus@gitlab.com> | 2019-11-22 10:14:03 +0300 |
commit | eb032078e44393a07752cc390aaa0ca785c3b954 (patch) | |
tree | b7362195930bfc51e683c605a1b14a0041804a98 /spec | |
parent | fc1677f3616847a70c196dfc94f6be7fa83160d0 (diff) |
Add Jest as a frontend testing framework
Added Jest as a frontend testing framework
Diffstat (limited to 'spec')
-rw-r--r-- | spec/javascripts/components/navigation_toggle/navigation_toggle_spec.js | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/spec/javascripts/components/navigation_toggle/navigation_toggle_spec.js b/spec/javascripts/components/navigation_toggle/navigation_toggle_spec.js new file mode 100644 index 00000000..de77854b --- /dev/null +++ b/spec/javascripts/components/navigation_toggle/navigation_toggle_spec.js @@ -0,0 +1,29 @@ +import { mount } from '@vue/test-utils'; +import NavigationToggle from '~/components/navigation_toggle/navigation_toggle.vue'; + +describe('component: Navigation Toggle', function () { + let wrapper; + + beforeEach(() => { + let propsData = { targetSelector: '.some-selector' }; + wrapper = mount(NavigationToggle, { propsData, }); + }); + + it('renders a toggle button', () => { + expect(wrapper.exists('.nav-toggle')).toBe(true); + }); + + it('renders a toggle label', () => { + expect(wrapper.find('.label').text()).toEqual('Collapse sidebar'); + }); + + it('renders two arrow icons', () => { + expect(wrapper.findAll('.arrow').length).toEqual(2); + }); + + it('toggles the navigation when the navigation toggle is clicked', () => { + wrapper.setMethods({ toggle: jest.fn() }); + wrapper.find('.nav-toggle').trigger('click'); + expect(wrapper.vm.toggle).toHaveBeenCalled(); + }); +}); |