Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(test) Add renderWithRouter wrapper #1373

Merged
merged 2 commits into from
Nov 14, 2024
Merged

Conversation

denniskigen
Copy link
Member

@denniskigen denniskigen commented Nov 14, 2024

Requirements

  • This PR has a title that briefly describes the work done including the ticket number. If there is a ticket, make sure your PR title includes a conventional commit label. See existing PR titles for inspiration.
  • My work conforms to the OpenMRS 3.0 Styleguide and design documentation.
  • My work includes tests or is validated by existing tests.

Summary

This adds a wrapper for rendering components with react-router-dom for testing purposes. This is needed because components that use routing features require a Router context to work properly. Its parameters are:

  • component: The component to render.
  • initialRoute: The initial route to set for the router. Defaults to /, the root path.

It uses MemoryRouter instead of BrowserRouter because MemoryRouter stores its history in memory, which is suitable for testing purposes.

  • initialEntries: The initial entries to set for the router. Defaults to ['/'], the root path.
  • It sets up a basic Routes configuration with a single Route that matches the root path and renders the component passed to the wrapper.

Screenshots

Related Issue

Other

This adds a wrapper for rendering components with react-router-dom for testing purposes. This is needed
 because components that use routing features require a Router context to work properly. Its parameters are:

 - component: The component to render.
 - initialRoute: The initial route to set for the router. Defaults to `/`, the root path.

It uses `MemoryRouter` instead of `BrowserRouter` because `MemoryRouter` stores its history in memory, which is
suitable for testing purposes.

 - initialEntries: The initial entries to set for the router. Defaults to `['/']`, the root path.
 - it sets up a basic Routes configuration with a single Route that matches the root path and renders the component passed to the wrapper.
Copy link
Contributor

github-actions bot commented Nov 14, 2024

Size Change: 0 B

Total Size: 6.68 MB

ℹ️ View Unchanged
Filename Size
packages/esm-active-visits-app/dist/106.js 8.63 kB
packages/esm-active-visits-app/dist/130.js 393 kB
packages/esm-active-visits-app/dist/233.js 3.37 kB
packages/esm-active-visits-app/dist/236.js 614 B
packages/esm-active-visits-app/dist/240.js 615 B
packages/esm-active-visits-app/dist/261.js 615 B
packages/esm-active-visits-app/dist/271.js 800 B
packages/esm-active-visits-app/dist/272.js 615 B
packages/esm-active-visits-app/dist/316.js 42.9 kB
packages/esm-active-visits-app/dist/319.js 712 B
packages/esm-active-visits-app/dist/325.js 3.09 kB
packages/esm-active-visits-app/dist/336.js 614 B
packages/esm-active-visits-app/dist/378.js 730 B
packages/esm-active-visits-app/dist/443.js 6.98 kB
packages/esm-active-visits-app/dist/460.js 817 B
packages/esm-active-visits-app/dist/539.js 613 B
packages/esm-active-visits-app/dist/574.js 615 B
packages/esm-active-visits-app/dist/586.js 53.5 kB
packages/esm-active-visits-app/dist/6.js 26.4 kB
packages/esm-active-visits-app/dist/644.js 800 B
packages/esm-active-visits-app/dist/673.js 615 B
packages/esm-active-visits-app/dist/705.js 615 B
packages/esm-active-visits-app/dist/711.js 615 B
packages/esm-active-visits-app/dist/725.js 643 B
packages/esm-active-visits-app/dist/727.js 615 B
packages/esm-active-visits-app/dist/737.js 615 B
packages/esm-active-visits-app/dist/744.js 843 B
packages/esm-active-visits-app/dist/757.js 731 B
packages/esm-active-visits-app/dist/784.js 2.63 kB
packages/esm-active-visits-app/dist/788.js 628 B
packages/esm-active-visits-app/dist/807.js 959 B
packages/esm-active-visits-app/dist/814.js 3.04 kB
packages/esm-active-visits-app/dist/833.js 765 B
packages/esm-active-visits-app/dist/879.js 3.02 kB
packages/esm-active-visits-app/dist/899.js 611 B
packages/esm-active-visits-app/dist/967.js 611 B
packages/esm-active-visits-app/dist/main.js 82.1 kB
packages/esm-active-visits-app/dist/openmrs-esm-active-visits-app.js 3.32 kB
packages/esm-appointments-app/dist/130.js 393 kB
packages/esm-appointments-app/dist/171.js 223 B
packages/esm-appointments-app/dist/198.js 250 kB
packages/esm-appointments-app/dist/2.js 2.23 kB
packages/esm-appointments-app/dist/228.js 2.02 kB
packages/esm-appointments-app/dist/236.js 2.02 kB
packages/esm-appointments-app/dist/240.js 2.02 kB
packages/esm-appointments-app/dist/261.js 2.02 kB
packages/esm-appointments-app/dist/265.js 1.79 kB
packages/esm-appointments-app/dist/269.js 7.38 kB
packages/esm-appointments-app/dist/271.js 2.41 kB
packages/esm-appointments-app/dist/272.js 2.02 kB
packages/esm-appointments-app/dist/319.js 2.27 kB
packages/esm-appointments-app/dist/325.js 3.08 kB
packages/esm-appointments-app/dist/336.js 2.02 kB
packages/esm-appointments-app/dist/372.js 2.57 kB
packages/esm-appointments-app/dist/378.js 2.26 kB
packages/esm-appointments-app/dist/440.js 16.6 kB
packages/esm-appointments-app/dist/460.js 2.44 kB
packages/esm-appointments-app/dist/501.js 7.02 kB
packages/esm-appointments-app/dist/539.js 2.02 kB
packages/esm-appointments-app/dist/574.js 2.02 kB
packages/esm-appointments-app/dist/581.js 9.03 kB
packages/esm-appointments-app/dist/591.js 16.8 kB
packages/esm-appointments-app/dist/644.js 2.41 kB
packages/esm-appointments-app/dist/673.js 2.02 kB
packages/esm-appointments-app/dist/705.js 2.02 kB
packages/esm-appointments-app/dist/711.js 130 kB
packages/esm-appointments-app/dist/727.js 2.02 kB
packages/esm-appointments-app/dist/737.js 2.02 kB
packages/esm-appointments-app/dist/744.js 2.54 kB
packages/esm-appointments-app/dist/757.js 2.4 kB
packages/esm-appointments-app/dist/784.js 2.62 kB
packages/esm-appointments-app/dist/787.js 31.4 kB
packages/esm-appointments-app/dist/788.js 2.02 kB
packages/esm-appointments-app/dist/807.js 2.65 kB
packages/esm-appointments-app/dist/833.js 2.37 kB
packages/esm-appointments-app/dist/899.js 2.02 kB
packages/esm-appointments-app/dist/903.js 865 B
packages/esm-appointments-app/dist/main.js 396 kB
packages/esm-appointments-app/dist/openmrs-esm-appointments-app.js 3.56 kB
packages/esm-bed-management-app/dist/130.js 393 kB
packages/esm-bed-management-app/dist/148.js 1.35 kB
packages/esm-bed-management-app/dist/169.js 6.98 kB
packages/esm-bed-management-app/dist/236.js 670 B
packages/esm-bed-management-app/dist/240.js 671 B
packages/esm-bed-management-app/dist/261.js 671 B
packages/esm-bed-management-app/dist/271.js 671 B
packages/esm-bed-management-app/dist/272.js 671 B
packages/esm-bed-management-app/dist/319.js 786 B
packages/esm-bed-management-app/dist/325.js 3.09 kB
packages/esm-bed-management-app/dist/336.js 672 B
packages/esm-bed-management-app/dist/339.js 50.9 kB
packages/esm-bed-management-app/dist/378.js 776 B
packages/esm-bed-management-app/dist/455.js 26.5 kB
packages/esm-bed-management-app/dist/460.js 671 B
packages/esm-bed-management-app/dist/501.js 7.03 kB
packages/esm-bed-management-app/dist/539.js 671 B
packages/esm-bed-management-app/dist/542.js 395 B
packages/esm-bed-management-app/dist/574.js 781 B
packages/esm-bed-management-app/dist/591.js 16.8 kB
packages/esm-bed-management-app/dist/644.js 671 B
packages/esm-bed-management-app/dist/673.js 672 B
packages/esm-bed-management-app/dist/705.js 671 B
packages/esm-bed-management-app/dist/711.js 671 B
packages/esm-bed-management-app/dist/727.js 671 B
packages/esm-bed-management-app/dist/737.js 671 B
packages/esm-bed-management-app/dist/744.js 863 B
packages/esm-bed-management-app/dist/757.js 814 B
packages/esm-bed-management-app/dist/766.js 113 kB
packages/esm-bed-management-app/dist/784.js 2.63 kB
packages/esm-bed-management-app/dist/788.js 671 B
packages/esm-bed-management-app/dist/807.js 671 B
packages/esm-bed-management-app/dist/833.js 671 B
packages/esm-bed-management-app/dist/899.js 670 B
packages/esm-bed-management-app/dist/main.js 4.01 kB
packages/esm-bed-management-app/dist/openmrs-esm-bed-management-app.js 3.25 kB
packages/esm-patient-list-management-app/dist/130.js 393 kB
packages/esm-patient-list-management-app/dist/233.js 3.38 kB
packages/esm-patient-list-management-app/dist/236.js 1.34 kB
packages/esm-patient-list-management-app/dist/240.js 1.34 kB
packages/esm-patient-list-management-app/dist/261.js 1.34 kB
packages/esm-patient-list-management-app/dist/271.js 1.6 kB
packages/esm-patient-list-management-app/dist/272.js 1.34 kB
packages/esm-patient-list-management-app/dist/319.js 1.52 kB
packages/esm-patient-list-management-app/dist/325.js 3.09 kB
packages/esm-patient-list-management-app/dist/336.js 1.34 kB
packages/esm-patient-list-management-app/dist/37.js 12.5 kB
packages/esm-patient-list-management-app/dist/378.js 1.55 kB
packages/esm-patient-list-management-app/dist/443.js 6.98 kB
packages/esm-patient-list-management-app/dist/455.js 58.3 kB
packages/esm-patient-list-management-app/dist/460.js 1.71 kB
packages/esm-patient-list-management-app/dist/539.js 1.34 kB
packages/esm-patient-list-management-app/dist/574.js 1.34 kB
packages/esm-patient-list-management-app/dist/591.js 16.9 kB
packages/esm-patient-list-management-app/dist/644.js 1.6 kB
packages/esm-patient-list-management-app/dist/658.js 102 kB
packages/esm-patient-list-management-app/dist/673.js 1.34 kB
packages/esm-patient-list-management-app/dist/705.js 1.34 kB
packages/esm-patient-list-management-app/dist/711.js 1.34 kB
packages/esm-patient-list-management-app/dist/727.js 1.34 kB
packages/esm-patient-list-management-app/dist/737.js 1.34 kB
packages/esm-patient-list-management-app/dist/744.js 1.72 kB
packages/esm-patient-list-management-app/dist/757.js 1.64 kB
packages/esm-patient-list-management-app/dist/784.js 2.63 kB
packages/esm-patient-list-management-app/dist/788.js 1.34 kB
packages/esm-patient-list-management-app/dist/807.js 1.83 kB
packages/esm-patient-list-management-app/dist/814.js 3.05 kB
packages/esm-patient-list-management-app/dist/833.js 1.6 kB
packages/esm-patient-list-management-app/dist/899.js 1.34 kB
packages/esm-patient-list-management-app/dist/main.js 162 kB
packages/esm-patient-list-management-app/dist/openmrs-esm-patient-list-management-app.js 3.3 kB
packages/esm-patient-registration-app/dist/130.js 393 kB
packages/esm-patient-registration-app/dist/169.js 6.71 kB
packages/esm-patient-registration-app/dist/2.js 2.24 kB
packages/esm-patient-registration-app/dist/236.js 2.12 kB
packages/esm-patient-registration-app/dist/240.js 2.12 kB
packages/esm-patient-registration-app/dist/250.js 526 B
packages/esm-patient-registration-app/dist/261.js 2.12 kB
packages/esm-patient-registration-app/dist/271.js 2.51 kB
packages/esm-patient-registration-app/dist/272.js 2.12 kB
packages/esm-patient-registration-app/dist/319.js 2.42 kB
packages/esm-patient-registration-app/dist/323.js 72.2 kB
packages/esm-patient-registration-app/dist/325.js 3.09 kB
packages/esm-patient-registration-app/dist/336.js 2.12 kB
packages/esm-patient-registration-app/dist/372.js 2.57 kB
packages/esm-patient-registration-app/dist/378.js 2.37 kB
packages/esm-patient-registration-app/dist/460.js 2.49 kB
packages/esm-patient-registration-app/dist/501.js 7.03 kB
packages/esm-patient-registration-app/dist/539.js 2.12 kB
packages/esm-patient-registration-app/dist/574.js 2.12 kB
packages/esm-patient-registration-app/dist/591.js 16.8 kB
packages/esm-patient-registration-app/dist/644.js 2.51 kB
packages/esm-patient-registration-app/dist/662.js 453 B
packages/esm-patient-registration-app/dist/673.js 2.12 kB
packages/esm-patient-registration-app/dist/705.js 2.12 kB
packages/esm-patient-registration-app/dist/711.js 2.12 kB
packages/esm-patient-registration-app/dist/727.js 2.12 kB
packages/esm-patient-registration-app/dist/737.js 2.12 kB
packages/esm-patient-registration-app/dist/744.js 2.44 kB
packages/esm-patient-registration-app/dist/750.js 77.5 kB
packages/esm-patient-registration-app/dist/753.js 652 B
packages/esm-patient-registration-app/dist/757.js 2.54 kB
packages/esm-patient-registration-app/dist/784.js 2.63 kB
packages/esm-patient-registration-app/dist/788.js 2.12 kB
packages/esm-patient-registration-app/dist/807.js 2.74 kB
packages/esm-patient-registration-app/dist/833.js 2.39 kB
packages/esm-patient-registration-app/dist/879.js 3.03 kB
packages/esm-patient-registration-app/dist/899.js 2.12 kB
packages/esm-patient-registration-app/dist/main.js 150 kB
packages/esm-patient-registration-app/dist/openmrs-esm-patient-registration-app.js 3.34 kB
packages/esm-patient-search-app/dist/130.js 393 kB
packages/esm-patient-search-app/dist/173.js 26 kB
packages/esm-patient-search-app/dist/233.js 3.37 kB
packages/esm-patient-search-app/dist/236.js 799 B
packages/esm-patient-search-app/dist/240.js 801 B
packages/esm-patient-search-app/dist/261.js 801 B
packages/esm-patient-search-app/dist/271.js 1 kB
packages/esm-patient-search-app/dist/272.js 801 B
packages/esm-patient-search-app/dist/319.js 926 B
packages/esm-patient-search-app/dist/325.js 3.09 kB
packages/esm-patient-search-app/dist/336.js 800 B
packages/esm-patient-search-app/dist/378.js 952 B
packages/esm-patient-search-app/dist/443.js 6.98 kB
packages/esm-patient-search-app/dist/460.js 1.01 kB
packages/esm-patient-search-app/dist/539.js 799 B
packages/esm-patient-search-app/dist/574.js 855 B
packages/esm-patient-search-app/dist/591.js 16.8 kB
packages/esm-patient-search-app/dist/644.js 1 kB
packages/esm-patient-search-app/dist/673.js 801 B
packages/esm-patient-search-app/dist/705.js 801 B
packages/esm-patient-search-app/dist/711.js 801 B
packages/esm-patient-search-app/dist/727.js 801 B
packages/esm-patient-search-app/dist/737.js 800 B
packages/esm-patient-search-app/dist/744.js 1.04 kB
packages/esm-patient-search-app/dist/750.js 54.7 kB
packages/esm-patient-search-app/dist/757.js 953 B
packages/esm-patient-search-app/dist/784.js 2.63 kB
packages/esm-patient-search-app/dist/788.js 797 B
packages/esm-patient-search-app/dist/807.js 1.1 kB
packages/esm-patient-search-app/dist/814.js 3.05 kB
packages/esm-patient-search-app/dist/833.js 950 B
packages/esm-patient-search-app/dist/899.js 797 B
packages/esm-patient-search-app/dist/main.js 81.8 kB
packages/esm-patient-search-app/dist/openmrs-esm-patient-search-app.js 3.29 kB
packages/esm-service-queues-app/dist/1006.js 1.75 kB
packages/esm-service-queues-app/dist/1060.js 1.82 kB
packages/esm-service-queues-app/dist/1169.js 6.98 kB
packages/esm-service-queues-app/dist/130.js 393 kB
packages/esm-service-queues-app/dist/1325.js 3.09 kB
packages/esm-service-queues-app/dist/1644.js 4.6 kB
packages/esm-service-queues-app/dist/1727.js 8.1 kB
packages/esm-service-queues-app/dist/1800.js 1.67 kB
packages/esm-service-queues-app/dist/2.js 2.23 kB
packages/esm-service-queues-app/dist/236.js 3.88 kB
packages/esm-service-queues-app/dist/2757.js 4.74 kB
packages/esm-service-queues-app/dist/2760.js 7.2 kB
packages/esm-service-queues-app/dist/2784.js 2.62 kB
packages/esm-service-queues-app/dist/3199.js 1.36 kB
packages/esm-service-queues-app/dist/3372.js 2.57 kB
packages/esm-service-queues-app/dist/3574.js 3.88 kB
packages/esm-service-queues-app/dist/3604.js 6.96 kB
packages/esm-service-queues-app/dist/366.js 7.86 kB
packages/esm-service-queues-app/dist/3818.js 2.56 kB
packages/esm-service-queues-app/dist/3828.js 1.38 kB
packages/esm-service-queues-app/dist/4272.js 3.88 kB
packages/esm-service-queues-app/dist/4378.js 4.47 kB
packages/esm-service-queues-app/dist/4460.js 4.81 kB
packages/esm-service-queues-app/dist/4705.js 3.88 kB
packages/esm-service-queues-app/dist/4748.js 116 kB
packages/esm-service-queues-app/dist/4911.js 7.76 kB
packages/esm-service-queues-app/dist/5236.js 5.84 kB
packages/esm-service-queues-app/dist/5240.js 3.88 kB
packages/esm-service-queues-app/dist/5282.js 8.97 kB
packages/esm-service-queues-app/dist/5336.js 3.88 kB
packages/esm-service-queues-app/dist/539.js 3.88 kB
packages/esm-service-queues-app/dist/5501.js 7.03 kB
packages/esm-service-queues-app/dist/5673.js 3.88 kB
packages/esm-service-queues-app/dist/5711.js 3.88 kB
packages/esm-service-queues-app/dist/5737.js 3.88 kB
packages/esm-service-queues-app/dist/5833.js 4.5 kB
packages/esm-service-queues-app/dist/6591.js 16.8 kB
packages/esm-service-queues-app/dist/660.js 158 kB
packages/esm-service-queues-app/dist/6670.js 10.1 kB
packages/esm-service-queues-app/dist/6727.js 3.88 kB
packages/esm-service-queues-app/dist/744.js 4.71 kB
packages/esm-service-queues-app/dist/752.js 1.62 kB
packages/esm-service-queues-app/dist/7807.js 5.16 kB
packages/esm-service-queues-app/dist/8271.js 4.6 kB
packages/esm-service-queues-app/dist/8319.js 4.34 kB
packages/esm-service-queues-app/dist/8788.js 3.89 kB
packages/esm-service-queues-app/dist/899.js 3.88 kB
packages/esm-service-queues-app/dist/9261.js 3.88 kB
packages/esm-service-queues-app/dist/9392.js 7.85 kB
packages/esm-service-queues-app/dist/940.js 21.4 kB
packages/esm-service-queues-app/dist/main.js 274 kB
packages/esm-service-queues-app/dist/openmrs-esm-service-queues-app.js 3.3 kB
packages/esm-ward-app/dist/109.js 344 B
packages/esm-ward-app/dist/124.js 3.68 kB
packages/esm-ward-app/dist/125.js 5.87 kB
packages/esm-ward-app/dist/126.js 9.63 kB
packages/esm-ward-app/dist/130.js 393 kB
packages/esm-ward-app/dist/146.js 2.13 kB
packages/esm-ward-app/dist/15.js 482 B
packages/esm-ward-app/dist/169.js 6.97 kB
packages/esm-ward-app/dist/303.js 33.2 kB
packages/esm-ward-app/dist/325.js 3.08 kB
packages/esm-ward-app/dist/348.js 349 B
packages/esm-ward-app/dist/372.js 2.56 kB
packages/esm-ward-app/dist/471.js 7 kB
packages/esm-ward-app/dist/481.js 1.25 kB
packages/esm-ward-app/dist/501.js 7.02 kB
packages/esm-ward-app/dist/53.js 11.6 kB
packages/esm-ward-app/dist/559.js 342 B
packages/esm-ward-app/dist/574.js 1.56 kB
packages/esm-ward-app/dist/576.js 5.86 kB
packages/esm-ward-app/dist/577.js 17.6 kB
packages/esm-ward-app/dist/591.js 16.8 kB
packages/esm-ward-app/dist/598.js 35.7 kB
packages/esm-ward-app/dist/649.js 2.51 kB
packages/esm-ward-app/dist/662.js 11.1 kB
packages/esm-ward-app/dist/767.js 648 B
packages/esm-ward-app/dist/784.js 2.62 kB
packages/esm-ward-app/dist/920.js 629 B
packages/esm-ward-app/dist/921.js 6.09 kB
packages/esm-ward-app/dist/922.js 9.07 kB
packages/esm-ward-app/dist/940.js 21.4 kB
packages/esm-ward-app/dist/969.js 202 B
packages/esm-ward-app/dist/main.js 40.5 kB
packages/esm-ward-app/dist/openmrs-esm-ward-app.js 3.29 kB

compressed-size-action

@ibacher ibacher merged commit 7fc67b1 into main Nov 14, 2024
6 checks passed
@ibacher ibacher deleted the test/render-with-router-wrapper branch November 14, 2024 11:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants