Skip to content

Commit

Permalink
chore: add test
Browse files Browse the repository at this point in the history
  • Loading branch information
maksimr committed Mar 5, 2022
1 parent 8eba0bd commit 80ca433
Showing 1 changed file with 19 additions and 6 deletions.
25 changes: 19 additions & 6 deletions lib/react/StoreLayer.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -88,10 +88,10 @@ describe('StoreLayer', function() {
});

it('should pass only part of the story', function() {
const Baz = () => {
const Baz = ({ id = '' }) => {
const [state, setState] = useStore();
return (
<div>
<div id={id}>
<button onClick={() => setState((state) => void (state.counter += 1))} />
<b>{state.counter}</b>
</div>
Expand All @@ -100,22 +100,35 @@ describe('StoreLayer', function() {

store.swap((state) => {
state.foo = { counter: 0 };
state.bar = { counter: 0 };
});

const { container } = render(
<StoreLayer store={store}>
<Cursor query={(state) => state.foo}>
<Baz />
<Baz id="A" />
</Cursor>
<Cursor query={(state) => state.bar}>
<Baz id="B" />
</Cursor>
</StoreLayer>
);

expect(container.querySelector('b')?.innerHTML).toEqual('0');
expect(container.querySelector('#A b')?.innerHTML).toEqual('0');
expect(container.querySelector('#B b')?.innerHTML).toEqual('0');

fireEvent.click(/**@type {HTMLElement}*/(container.querySelector('button')));
expect(container.querySelector('b')?.innerHTML).toEqual('1');
fireEvent.click(/**@type {HTMLElement}*/(container.querySelector('#A button')));
expect(container.querySelector('#A b')?.innerHTML).toEqual('1');
expect(container.querySelector('#B b')?.innerHTML).toEqual('0');
expect(store.value.counter).toEqual(0);
expect(store.value.foo.counter).toEqual(1);
expect(store.value.bar.counter).toEqual(0);

fireEvent.click(/**@type {HTMLElement}*/(container.querySelector('#B button')));
expect(container.querySelector('#A b')?.innerHTML).toEqual('1');
expect(container.querySelector('#B b')?.innerHTML).toEqual('1');
expect(store.value.foo.counter).toEqual(1);
expect(store.value.bar.counter).toEqual(1);
});

function Foo() {
Expand Down

0 comments on commit 80ca433

Please sign in to comment.