summaryrefslogtreecommitdiffstats
path: root/tests/javascript/unit/components/Starred.spec.ts
diff options
context:
space:
mode:
authorDevlin Junker <devlin.junker@gmail.com>2023-08-16 15:28:17 -0700
committerBenjamin Brahmer <info@b-brahmer.de>2023-08-22 08:34:39 +0200
commitefb1ac236e0e5f2038886fccf4d01337b486732a (patch)
treed33293f99d4a8c89b229a3d8e14e5c441f41c618 /tests/javascript/unit/components/Starred.spec.ts
parent0bfb6162c7a7d9b1c67fbcbab04d6b408bbec828 (diff)
basic unit tests
Signed-off-by: Devlin Junker <devlin.junker@gmail.com>
Diffstat (limited to 'tests/javascript/unit/components/Starred.spec.ts')
-rw-r--r--tests/javascript/unit/components/Starred.spec.ts75
1 files changed, 75 insertions, 0 deletions
diff --git a/tests/javascript/unit/components/Starred.spec.ts b/tests/javascript/unit/components/Starred.spec.ts
new file mode 100644
index 000000000..212c69f6e
--- /dev/null
+++ b/tests/javascript/unit/components/Starred.spec.ts
@@ -0,0 +1,75 @@
+import Vuex, { Store } from 'vuex'
+import { shallowMount, createLocalVue, Wrapper } from '@vue/test-utils'
+
+import Starred from '../../../../src/components/Starred.vue'
+import VirtualScroll from '../../../../src/components/VirtualScroll.vue'
+import FeedItem from '../../../../src/components/FeedItem.vue'
+
+jest.mock('@nextcloud/axios')
+
+describe('Explore.vue', () => {
+ 'use strict'
+ const localVue = createLocalVue()
+ localVue.use(Vuex)
+ let wrapper: Wrapper<Starred>
+
+ const mockItem = {
+ feedId: 1,
+ title: 'feed item',
+ pubDate: Date.now() / 1000,
+ }
+
+ let store: Store<any>
+ beforeAll(() => {
+ store = new Vuex.Store({
+ state: {
+ items: {
+ starredLoaded: false,
+ },
+ },
+ actions: {
+ },
+ getters: {
+ starred: () => [mockItem],
+ },
+ })
+ wrapper = shallowMount(Starred, {
+ propsData: {
+ item: mockItem,
+ },
+ localVue,
+ store,
+ })
+ })
+
+ it('should initialize with mounted flag set', () => {
+ expect(wrapper.vm.$data.mounted).toBeTruthy()
+ })
+
+ it('should get starred items from state', () => {
+ expect((wrapper.findAllComponents(FeedItem).length)).toEqual(1)
+ })
+
+ it('should check starredLoaded and mounted to determine if the virtual scroll has reached end ', () => {
+ wrapper.vm.$store.state.items.starredLoaded = false
+ expect((wrapper.findComponent(VirtualScroll)).props().reachedEnd).toEqual(false)
+
+ wrapper.vm.$store.state.items.starredLoaded = true
+ store.state.items.starredLoaded = true
+
+ wrapper = shallowMount(Starred, {
+ propsData: {
+ item: mockItem,
+ },
+ data: () => {
+ return {
+ mounted: true,
+ }
+ },
+ localVue,
+ store,
+ })
+
+ expect((wrapper.findComponent(VirtualScroll)).props().reachedEnd).toEqual(true)
+ })
+})