瀏覽代碼

tests(cover array methods)

Ryan Chandler 4 年之前
父節點
當前提交
1884451eac
共有 1 個文件被更改,包括 28 次插入0 次删除
  1. 28 0
      tests/set.spec.js

+ 28 - 0
tests/set.spec.js

@@ -33,4 +33,32 @@ test('$store > data can be set inside component', async () => {
         expect(Spruce.stores.foo.bar).toEqual('car')
         expect(document.querySelector('span').innerText).toEqual('car')
     })
+})
+
+test('$store > array data causes DOM updates', async () => {
+    document.body.innerHTML = `
+        <div x-data>
+            <template x-for="item in $store.todo.todos">
+                <p x-text="item"></p>
+            </template>
+            <button @click="$store.todo.todos.push('foo')"></button>
+        </div>
+    `
+
+    Spruce.store('todo', {
+        todos: []
+    })
+
+    await Spruce.start()
+    
+    Alpine.start()
+
+    expect(document.querySelector('p')).toBeFalsy()
+
+    document.querySelector('button').click()
+
+    await waitFor(() => {
+        expect(document.querySelector('p')).toBeTruthy()
+        expect(document.querySelector('p').innerText).toEqual('foo')
+    })
 })