summaryrefslogtreecommitdiffstats
path: root/tests/javascript/unit/components/AddFeed.spec.ts
diff options
context:
space:
mode:
Diffstat (limited to 'tests/javascript/unit/components/AddFeed.spec.ts')
-rw-r--r--tests/javascript/unit/components/AddFeed.spec.ts79
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()
})
})