get.spec.js 643 B

12345678910111213141516171819202122232425262728293031
  1. import Alpine from 'alpinejs'
  2. import Spruce from '../dist/spruce'
  3. import { waitFor } from '@testing-library/dom'
  4. beforeEach(() => {
  5. Spruce.subscribers = []
  6. })
  7. beforeAll(() => {
  8. window.Spruce = Spruce
  9. })
  10. test('$store > data can be retrieved from store inside component', async () => {
  11. document.body.innerHTML = `
  12. <div x-data x-subscribe>
  13. <span x-text="$store.foo.bar"></span>
  14. </div>
  15. `
  16. Spruce.store('foo', {
  17. bar: 'bob'
  18. })
  19. await Spruce.start()
  20. Alpine.start()
  21. await waitFor(() => {
  22. expect(document.querySelector('span').innerText).toEqual('bob')
  23. })
  24. })