diff options
Diffstat (limited to 'tests/javascript/unit/components/AddFeed.spec.ts')
-rw-r--r-- | tests/javascript/unit/components/AddFeed.spec.ts | 79 |
1 files changed, 71 insertions, 8 deletions
diff --git a/tests/javascript/unit/components/AddFeed.spec.ts b/tests/javascript/unit/components/AddFeed.spec.ts index 66105e3f8..ce1a9581d 100644 --- a/tests/javascript/unit/components/AddFeed.spec.ts +++ b/tests/javascript/unit/components/AddFeed.spec.ts @@ -1,23 +1,86 @@ import { shallowMount, createLocalVue } from '@vue/test-utils' - import AddFeed from '../../../../src/components/AddFeed.vue' +import { FEED_ACTION_TYPES } from '@/store/feed' describe('AddFeed.vue', () => { 'use strict' - it('should initialize without showing createNewFolder', () => { + let mockDispatch = jest.fn(); + let mockStore = { + state: { + folders: { folders: [] }, + feeds: { feeds: [] } + }, + dispatch: mockDispatch + } + + let wrapper: any + beforeEach(() => { const localVue = createLocalVue() - const wrapper = shallowMount(AddFeed, { + wrapper = shallowMount(AddFeed, { localVue, mocks: { - $store: { - state: { - folders: [], - }, - }, + $store: mockStore, }, }) + }) + it('should initialize with default values', () => { expect(wrapper.vm.$data.createNewFolder).toBeFalsy() + expect(wrapper.vm.$data.autoDiscover).toBeTruthy() + expect(wrapper.vm.$data.withBasicAuth).toBeFalsy() + }) + + it('should dispatch ADD_FEED action to store', async () => { + wrapper.vm.$emit = jest.fn() + + await wrapper.vm.addFeed() + + expect(wrapper.vm.$emit).toBeCalled() + expect(mockDispatch).toBeCalled() + expect(mockDispatch.mock.calls[0][0]).toEqual(FEED_ACTION_TYPES.ADD_FEED); + }) + + it('should check if feed url exists and return true', () => { + wrapper.vm.$data.feedUrl = '' + let response = wrapper.vm.feedUrlExists() + + expect(response).toBeFalsy() + + wrapper.vm.$data.feedUrl = 'http://test.com' + response = wrapper.vm.feedUrlExists() + + expect(response).toBeFalsy() + + wrapper.vm.$data.feedUrl = 'http://test.com' + wrapper.vm.$store.state.feeds.feeds = [{ url: 'http://test.com'}] + response = wrapper.vm.feedUrlExists() + + expect(response).toBeTruthy() + }) + + it('should check if folder name exists when creating folder and return true', () => { + wrapper.vm.$data.newFolderName = '' + let response = wrapper.vm.folderNameExists() + + expect(response).toBeFalsy() + + wrapper.vm.$data.newFolderName = 'test' + response = wrapper.vm.folderNameExists() + + expect(response).toBeFalsy() + + wrapper.vm.$data.newFolderName = 'test' + wrapper.vm.$store.state.folders.folders = [{ name: 'test'}] + response = wrapper.vm.folderNameExists() + + expect(response).toBeFalsy() + + wrapper.vm.$data.newFolderName = 'test' + wrapper.vm.$data.createNewFolder = 'test' + wrapper.vm.$store.state.folders.folders = [{ name: 'test'}] + response = wrapper.vm.folderNameExists() + + expect(response).toBeTruthy() }) }) |