-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: () => ({
})
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'
})
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')
})
})
-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: () => ({
})
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'
-import { defineStore, getRootState } from '../src'
+import { defineStore, createPinia } from '../src'
+import Vue from 'vue'
describe('Root State', () => {
const useA = defineStore({
})
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' },
})
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',