]> git.ipfire.org Git - thirdparty/vuejs/pinia.git/commitdiff
test: add failing test
authorEduardo San Martin Morote <posva13@gmail.com>
Mon, 28 Sep 2020 17:39:44 +0000 (19:39 +0200)
committerEduardo San Martin Morote <posva13@gmail.com>
Mon, 28 Sep 2020 17:39:44 +0000 (19:39 +0200)
__tests__/store.spec.ts
package.json
yarn.lock

index 9b1b0367c3d802dd0328902ca31152b4d1b6c473..d8f15053e2b8dfbc7123181a8347e7cae04a83bc 100644 (file)
@@ -1,4 +1,5 @@
 import { defineStore, setActiveReq, setStateProvider } from '../src'
+import { mount } from '@vue/test-utils'
 
 describe('Store', () => {
   let req: object
@@ -148,4 +149,33 @@ describe('Store', () => {
       store.state
     )
   })
+
+  it.skip('should outlive components', () => {
+    let store: ReturnType<typeof useStore> | undefined
+
+    const wrapper = mount({
+      setup() {
+        store = useStore()
+
+        return { store }
+      },
+
+      template: `a: {{ store.a }}`,
+    })
+
+    expect(wrapper.html()).toBe('a: true')
+
+    if (!store) throw new Error('no store')
+
+    const spy = jest.fn()
+    store.subscribe(spy)
+
+    expect(spy).toHaveBeenCalledTimes(0)
+    store.a = !store.a
+    expect(spy).toHaveBeenCalledTimes(1)
+
+    wrapper.unmount()
+    store.a = !store.a
+    expect(spy).toHaveBeenCalledTimes(2)
+  })
 })
index 91499825e0fb3a8f0d02731178a235d32a62c118..b50ecc074b8784a06ae8b5db794b254ca7b69665 100644 (file)
@@ -59,6 +59,7 @@
     "@types/node": "^14.11.2",
     "@vue/devtools-api": "^6.0.0-beta.2",
     "@vue/server-renderer": "^3.0.0",
+    "@vue/test-utils": "^2.0.0-beta.5",
     "brotli": "^1.3.2",
     "codecov": "^3.6.1",
     "conventional-changelog-cli": "^2.1.0",
index 66a4e07c77c3bbabec769b4e2438677bf5141957..2fea4c7caec04e8d766280e3497c5ddcb3b1d413 100644 (file)
--- a/yarn.lock
+++ b/yarn.lock
   resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.0.0.tgz#ec089236629ecc0f10346b92f101ff4339169f1a"
   integrity sha512-4XWL/avABGxU2E2ZF1eZq3Tj7fvksCMssDZUHOykBIMmh5d+KcAnQMC5XHMhtnA0NAvktYsA2YpdsVwVmhWzvA==
 
+"@vue/test-utils@^2.0.0-beta.5":
+  version "2.0.0-beta.5"
+  resolved "https://registry.yarnpkg.com/@vue/test-utils/-/test-utils-2.0.0-beta.5.tgz#c5980e3e6d22a1811483577bcfbcc2c4493c4a73"
+  integrity sha512-ohWcS277p/3KHK5di6UskDZK8hsaZ7hzsJiMl1f0jI+boeaq53MqwA9c8VaHsJrmJEOjNH0Y3QDzyU7LTXpKNQ==
+
 JSONStream@^1.0.4:
   version "1.3.5"
   resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0"