@tramvai/test-react 1.44.4 → 1.46.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -28,18 +28,23 @@ import { testComponent } from '@tramvai/test-react';
28
28
 
29
29
  describe('test', () => {
30
30
  it('render', async () => {
31
- const { render, context, act, fireEvent } = testComponent(<Cmp />);
31
+ const { render, rerender, context, act, fireEvent, Wrapper } = testComponent(<Cmp id={1} />);
32
32
 
33
33
  // проверить рендер компонента
34
- expect(render.getByTestId('test').textContent).toBe('Content');
34
+ expect(render.getByTestId('test').textContent).toBe('Content 1');
35
35
 
36
36
  // проверить рендер после обновления данных в сторе
37
37
  act(() => {
38
38
  context.dispatch(event('data'));
39
39
  });
40
40
 
41
- // Взаимодействовать с компонентом
41
+ // взаимодействовать с компонентом
42
42
  fireEvent.click(render.getByText('Button'));
43
+
44
+ // повторный рендеринг компонента
45
+ rerender(<Cmp id={2} />)
46
+
47
+ expect(render.getByTestId('test').textContent).toBe('Content 2');
43
48
  });
44
49
  });
45
50
  ```
package/lib/index.es.js CHANGED
@@ -8,10 +8,13 @@ import { createMockContext, createMockRouter } from '@tramvai/test-mocks';
8
8
  import { renderHook, act as act$1 } from '@testing-library/react-hooks';
9
9
 
10
10
  const testComponent = (element, { providers, initialState, store, stores, di, context = createMockContext({ initialState, providers, di, store, stores }), currentRoute, currentUrl, router = createMockRouter({ currentRoute, currentUrl }), renderOptions, } = {}) => {
11
+ const Wrapper = ({ children }) => (React.createElement(Provider, { context: context },
12
+ React.createElement(DIContext.Provider, { value: context.di },
13
+ React.createElement(Provider$1, { router: router }, children))));
14
+ const renderResults = render(React.createElement(Wrapper, null, element), renderOptions);
11
15
  return {
12
- render: render(React.createElement(Provider, { context: context },
13
- React.createElement(DIContext.Provider, { value: context.di },
14
- React.createElement(Provider$1, { router: router }, element))), renderOptions),
16
+ render: renderResults,
17
+ rerender: (el) => renderResults.rerender(React.createElement(Wrapper, null, el)),
15
18
  act,
16
19
  fireEvent,
17
20
  context,
package/lib/index.js CHANGED
@@ -15,10 +15,13 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
15
15
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
16
16
 
17
17
  const testComponent = (element, { providers, initialState, store, stores, di, context = testMocks.createMockContext({ initialState, providers, di, store, stores }), currentRoute, currentUrl, router: router$1 = testMocks.createMockRouter({ currentRoute, currentUrl }), renderOptions, } = {}) => {
18
+ const Wrapper = ({ children }) => (React__default["default"].createElement(state.Provider, { context: context },
19
+ React__default["default"].createElement(react$1.DIContext.Provider, { value: context.di },
20
+ React__default["default"].createElement(router.Provider, { router: router$1 }, children))));
21
+ const renderResults = react.render(React__default["default"].createElement(Wrapper, null, element), renderOptions);
18
22
  return {
19
- render: react.render(React__default["default"].createElement(state.Provider, { context: context },
20
- React__default["default"].createElement(react$1.DIContext.Provider, { value: context.di },
21
- React__default["default"].createElement(router.Provider, { router: router$1 }, element))), renderOptions),
23
+ render: renderResults,
24
+ rerender: (el) => renderResults.rerender(React__default["default"].createElement(Wrapper, null, el)),
22
25
  act: react.act,
23
26
  fireEvent: react.fireEvent,
24
27
  context,
@@ -14,6 +14,7 @@ declare type Options = OptionsDi & OptionsContext & OptionsRouter & {
14
14
  };
15
15
  export declare const testComponent: (element: React.ReactElement, { providers, initialState, store, stores, di, context, currentRoute, currentUrl, router, renderOptions, }?: Options) => {
16
16
  render: import("@testing-library/react").RenderResult<typeof import("@testing-library/dom/types/queries"), HTMLElement>;
17
+ rerender: (el: React.ReactElement) => void;
17
18
  act: typeof import("react-dom/test-utils").act;
18
19
  fireEvent: import("@testing-library/react").FireFunction & import("@testing-library/react").FireObject;
19
20
  context: import("@tramvai/tokens-common").ConsumerContext;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tramvai/test-react",
3
- "version": "1.44.4",
3
+ "version": "1.46.6",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -21,10 +21,10 @@
21
21
  "@testing-library/react": "^11.2.6",
22
22
  "@testing-library/react-hooks": "^5.1.2",
23
23
  "@tinkoff/router": "0.1.64",
24
- "@tramvai/react": "1.44.4",
25
- "@tramvai/state": "1.44.4",
26
- "@tramvai/test-mocks": "1.44.4",
27
- "@tramvai/tokens-common": "1.44.4",
24
+ "@tramvai/react": "1.46.6",
25
+ "@tramvai/state": "1.46.6",
26
+ "@tramvai/test-mocks": "1.46.6",
27
+ "@tramvai/tokens-common": "1.46.6",
28
28
  "react-test-renderer": "^17.0.2",
29
29
  "tslib": "^2.0.3"
30
30
  },