diff --git a/src/index.js b/src/index.js index ac3819a..cce664a 100644 --- a/src/index.js +++ b/src/index.js @@ -5,13 +5,14 @@ const mountedContainers = new Set() export const render = (Component, options) => { const target = document.body.appendChild(document.createElement('div')) - const rendered = new Component({ + const component = new Component({ ...options, target, }) - mountedContainers.add(rendered) + mountedContainers.add(component) return { + component, ...getQueriesForElement(document.body), } } diff --git a/tests/queries.spec.js b/tests/queries.spec.js index ab857f7..728139b 100644 --- a/tests/queries.spec.js +++ b/tests/queries.spec.js @@ -1,4 +1,4 @@ -import {render, fireEvent, waitForElement, cleanup} from '../src' +import {render, fireEvent, wait, waitForElement, cleanup} from '../src' import App from './example/App.svelte' import 'jest-dom/extend-expect' @@ -19,4 +19,14 @@ describe('queries', () => { expect(button).toBeInTheDocument() }) + + test('programmatically change props', async () => { + const {component, getByText} = render(App, {props: {name: 'world'}}) + + expect(getByText('Hello world!')).toBeInTheDocument() + + component.$set({name: 'foo'}) + + await wait(() => expect(getByText('Hello foo!')).toBeInTheDocument()) + }) })