]> git.ipfire.org Git - thirdparty/vuejs/pinia.git/commitdiff
test: refactor store setup test
authorEduardo San Martin Morote <posva13@gmail.com>
Mon, 9 Aug 2021 09:12:15 +0000 (11:12 +0200)
committerEduardo San Martin Morote <posva13@gmail.com>
Mon, 9 Aug 2021 09:12:15 +0000 (11:12 +0200)
test-dts/store.test-d.ts
test-dts/storeSetup.test-d.ts [new file with mode: 0644]

index ed2faa73fe012edbaf020d22fd391604f1f0a824..b93baba9dca8ba48c20f19695a1d05620b6e62d2 100644 (file)
@@ -46,11 +46,6 @@ defineStore('name')
 defineStore('name', {
   state: () => ({}),
 })
-const useSetupStore = defineStore('name', () => {})
-
-const setupStore = useSetupStore()
-expectType<{}>(setupStore.$state)
-expectType<'name'>(setupStore.$id)
 
 // actions on not existing properties
 defineStore({
diff --git a/test-dts/storeSetup.test-d.ts b/test-dts/storeSetup.test-d.ts
new file mode 100644 (file)
index 0000000..16db41b
--- /dev/null
@@ -0,0 +1,22 @@
+import { computed, ref } from 'vue'
+import { defineStore, expectType } from './'
+
+const useSetupStore = defineStore('name', () => {
+  const count = ref(0)
+  const double = computed(() => count.value * 2)
+
+  function increment(amount = 1) {
+    count.value += amount
+
+    return count.value
+  }
+
+  return { count, double, increment }
+})
+
+const setupStore = useSetupStore()
+expectType<'name'>(setupStore.$id)
+expectType<number>(setupStore.count)
+expectType<number>(setupStore.$state.count)
+expectType<number>(setupStore.double)
+expectType<(amount?: number) => number>(setupStore.increment)