import { shallow } from '@vue/test-utils'; import SidebarSection from 'client/components/sidebarSection.vue'; describe('Sidebar Section', () => { let wrapper; beforeEach(function () { wrapper = shallow(SidebarSection, { propsData: { title: 'Hello World', }, slots: { default: '

This is a test.

', }, }); }); it('displays title', () => { expect(wrapper.find('h3').text()).to.eq('Hello World'); }); it('displays contents', () => { expect(wrapper.find('.section-body').find('p').text()).to.eq('This is a test.'); }); it('displays tooltip icon', () => { expect(wrapper.contains('.section-info')).to.eq(false); wrapper.setProps({tooltip: 'This is a test'}); expect(wrapper.contains('.section-info')).to.eq(true); }); it('hides contents', () => { expect(wrapper.find('.section-body').element.style.display).to.not.eq('none'); wrapper.find('.section-toggle').trigger('click'); expect(wrapper.find('.section-body').element.style.display).to.eq('none'); wrapper.find('.section-toggle').trigger('click'); expect(wrapper.find('.section-body').element.style.display).to.not.eq('none'); }); it('can hide contents by default', () => { wrapper = shallow(SidebarSection, { propsData: { title: 'Hello World', show: false, }, slots: { default: '

This is a test.

', }, }); expect(wrapper.find('.section-body').element.style.display).to.eq('none'); }); });