storj/web/satellite/tests/unit/common/VSearch.spec.ts

49 lines
1.4 KiB
TypeScript
Raw Normal View History

// Copyright (C) 2019 Storj Labs, Inc.
// See LICENSE for copying information.
import * as sinon from 'sinon';
2019-09-09 11:33:39 +01:00
import SearchComponent from '@/components/common/VSearch.vue';
2019-09-09 11:33:39 +01:00
import { mount, shallowMount } from '@vue/test-utils';
describe('SearchComponent.vue', () => {
it('renders correctly', () => {
const wrapper = shallowMount(SearchComponent);
expect(wrapper).toMatchSnapshot();
});
it('renders correctly with default props', () => {
const wrapper = mount(SearchComponent);
expect(wrapper.vm.$props.placeholder).toMatch('');
expect(wrapper.vm.$props.search).toMatch('');
});
it('functions onMouseEnter/onMouseLeave work correctly', () => {
const wrapper = mount(SearchComponent);
wrapper.vm.onMouseEnter();
expect(wrapper.vm.style.width).toMatch('540px');
wrapper.vm.onMouseLeave();
expect(wrapper.vm.searchString).toMatch('');
expect(wrapper.vm.style.width).toMatch('56px');
});
it('function clearSearch works correctly', () => {
2019-09-09 11:33:39 +01:00
const processSearchQuerySpy = sinon.spy();
const wrapper = mount(SearchComponent);
wrapper.vm.processSearchQuery = processSearchQuerySpy;
wrapper.vm.clearSearch();
expect(processSearchQuerySpy.callCount).toBe(1);
expect(wrapper.vm.$data.inputWidth).toMatch('56px');
});
});