From: Eduardo San Martin Morote Date: Sat, 15 May 2021 13:32:56 +0000 (+0200) Subject: test: test refs in plugins X-Git-Tag: v0.5.0~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a4bcdd1e4568c72f241fbf197e969864d7350f59;p=thirdparty%2Fvuejs%2Fpinia.git test: test refs in plugins --- diff --git a/__tests__/storePlugins.spec.ts b/__tests__/storePlugins.spec.ts index c88317b0..4bd9431b 100644 --- a/__tests__/storePlugins.spec.ts +++ b/__tests__/storePlugins.spec.ts @@ -1,5 +1,6 @@ import { createPinia, defineStore, PiniaPlugin } from '../src' import { createLocalVue, mount } from '@vue/test-utils' +import { ref, set } from '@vue/composition-api' declare module '../src' { export interface PiniaCustomProperties { @@ -7,6 +8,7 @@ declare module '../src' { // uid: App['_uid'] hasPinia: boolean idFromPlugin: Id + someRef: number } } @@ -87,4 +89,27 @@ describe('store plugins', () => { const store = useStore() expect(store.doubleN).toBe(40) }) + + it('can add refs to state', () => { + const pinia = createPinia() + const someRef = ref(0) + pinia.use(({ store }) => { + set(store, 'someRef', someRef) + set(store.$state, 'someRef', someRef) + }) + + mount({ template: '

' }, { localVue, pinia }) + + const store = useStore() + + expect(store.someRef).toBe(0) + expect(store.$state.someRef).toBe(0) + someRef.value++ + expect(store.someRef).toBe(1) + expect(store.$state.someRef).toBe(1) + store.someRef++ + expect(store.someRef).toBe(2) + expect(store.$state.someRef).toBe(2) + expect(someRef.value).toBe(2) + }) })