From adcc01627db7a456aee044d3f1a7bcafa5a8ec7f Mon Sep 17 00:00:00 2001 From: Eduardo San Martin Morote Date: Wed, 3 Mar 2021 15:45:26 +0100 Subject: [PATCH] test: use createPinia() --- __tests__/actions.spec.ts | 30 ++++++++++++++++---------- __tests__/getters.spec.ts | 18 ++++++++++------ __tests__/rootState.spec.ts | 37 +++++++++++++++++++-------------- __tests__/subscriptions.spec.ts | 2 +- 4 files changed, 53 insertions(+), 34 deletions(-) diff --git a/__tests__/actions.spec.ts b/__tests__/actions.spec.ts index f1fdd324..75abfa22 100644 --- a/__tests__/actions.spec.ts +++ b/__tests__/actions.spec.ts @@ -1,9 +1,13 @@ -import { defineStore, setActiveReq } from '../src' +import Vue from 'vue' +import { defineStore, createPinia, setActivePinia, Pinia } from '../src' describe('Actions', () => { + let pinia: Pinia const useStore = () => { // create a new store - setActiveReq({}) + pinia = createPinia() + pinia.Vue = Vue + setActivePinia(pinia) return defineStore({ id: 'main', state: () => ({ @@ -83,13 +87,15 @@ describe('Actions', () => { }) it('supports being called between requests', () => { - const req1 = {} - const req2 = {} - setActiveReq(req1) + const pinia1 = createPinia() + pinia1.Vue = Vue + const pinia2 = createPinia() + pinia2.Vue = Vue + setActivePinia(pinia1) const aStore = useA() // simulate a different request - setActiveReq(req2) + setActivePinia(pinia2) const bStore = useB() bStore.$state.b = 'c' @@ -100,18 +106,20 @@ describe('Actions', () => { }) it('can force the req', () => { - const req1 = {} - const req2 = {} - const aStore = useA(req1) + const pinia1 = createPinia() + pinia1.Vue = Vue + const pinia2 = createPinia() + pinia2.Vue = Vue + const aStore = useA(pinia1) - let bStore = useB(req2) + let bStore = useB(pinia2) bStore.$state.b = 'c' aStore.swap() expect(aStore.$state.a).toBe('b') // a different instance of b store was used expect(bStore.$state.b).toBe('c') - bStore = useB(req1) + bStore = useB(pinia1) expect(bStore.$state.b).toBe('a') }) }) diff --git a/__tests__/getters.spec.ts b/__tests__/getters.spec.ts index 47e3a3a4..6181f9be 100644 --- a/__tests__/getters.spec.ts +++ b/__tests__/getters.spec.ts @@ -1,11 +1,15 @@ -import { defineStore, setActiveReq } from '../src' +import Vue from 'vue' +import { defineStore, createPinia, setActivePinia, Pinia } from '../src' describe('Getters', () => { jest.useFakeTimers() + let pinia: Pinia const useStore = () => { // create a new store - setActiveReq({}) + pinia = createPinia() + pinia.Vue = Vue + setActivePinia(pinia) return defineStore({ id: 'main', state: () => ({ @@ -70,13 +74,15 @@ describe('Getters', () => { }) it('supports changing between requests', () => { - const req1 = {} - const req2 = {} - setActiveReq(req1) + const pinia1 = createPinia() + pinia1.Vue = Vue + const pinia2 = createPinia() + pinia2.Vue = Vue + setActivePinia(pinia1) const aStore = useA() // simulate a different request - setActiveReq(req2) + setActivePinia(pinia2) const bStore = useB() bStore.b = 'c' diff --git a/__tests__/rootState.spec.ts b/__tests__/rootState.spec.ts index 5c9519ae..ff0448d7 100644 --- a/__tests__/rootState.spec.ts +++ b/__tests__/rootState.spec.ts @@ -1,4 +1,5 @@ -import { defineStore, getRootState } from '../src' +import { defineStore, createPinia } from '../src' +import Vue from 'vue' describe('Root State', () => { const useA = defineStore({ @@ -12,35 +13,39 @@ describe('Root State', () => { }) it('works with no stores', () => { - expect(getRootState({})).toEqual({}) + expect(createPinia().state.value).toEqual({}) }) it('retrieves the root state of one store', () => { - const req = {} - useA(req) - expect(getRootState(req)).toEqual({ + const pinia = createPinia() + pinia.Vue = Vue + useA(pinia) + expect(pinia.state.value).toEqual({ a: { a: 'a' }, }) }) - it('does not mix up different requests', () => { - const req1 = {} - const req2 = {} - useA(req1) - useB(req2) - expect(getRootState(req1)).toEqual({ + it('does not mix up different applications', () => { + const pinia1 = createPinia() + pinia1.Vue = Vue + const pinia2 = createPinia() + pinia2.Vue = Vue + useA(pinia1) + useB(pinia2) + expect(pinia1.state.value).toEqual({ a: { a: 'a' }, }) - expect(getRootState(req2)).toEqual({ + expect(pinia2.state.value).toEqual({ b: { b: 'b' }, }) }) it('can hold multiple stores', () => { - const req1 = {} - useA(req1) - useB(req1) - expect(getRootState(req1)).toEqual({ + const pinia1 = createPinia() + pinia1.Vue = Vue + useA(pinia1) + useB(pinia1) + expect(pinia1.state.value).toEqual({ a: { a: 'a' }, b: { b: 'b' }, }) diff --git a/__tests__/subscriptions.spec.ts b/__tests__/subscriptions.spec.ts index 2884b8cb..6c17e126 100644 --- a/__tests__/subscriptions.spec.ts +++ b/__tests__/subscriptions.spec.ts @@ -4,9 +4,9 @@ import { defineStore, setActivePinia, createPinia, Pinia } from '../src' describe('Subscriptions', () => { let pinia: Pinia const useStore = () => { + // create a new store pinia = createPinia() pinia.Vue = Vue - // create a new store setActivePinia(pinia) return defineStore({ id: 'main', -- 2.47.3