diff options
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(); + }); +}); |