getodk / getodk/web-forms

Tests running slow in Firefox and JSDom

Open
#366 2 comments 0 reactions 0 assignees View on GitHub
needs discussion test-automation
Dominant language
TypeScript
Stars
38
Forks
22
PR merge metrics
No merged PRs in 30d

Description

### Description
These tests started running slower, throwing timeout exceptions in Firefox and JSDom suites.

- [ ] [packages/web-forms/tests/components/OdkWebForm.test.ts](https://github.com/getodk/web-forms/blob/main/packages/web-forms/tests/components/OdkWebForm.test.ts)
- [ ] [packages/scenario/test/form-definition-validity.test.ts](https://github.com/getodk/web-forms/blob/main/packages/scenario/test/form-definition-validity.test.ts)
- [ ] [packages/scenario/test/smoketests/child-vaccination.test.ts](https://github.com/getodk/web-forms/blob/main/packages/scenario/test/smoketests/child-vaccination.test.ts)
- [ ] [packages/scenario/test/smoketests/who-va.test.ts](https://github.com/getodk/web-forms/blob/main/packages/scenario/test/smoketests/who-va.test.ts)

The issue started after upgrading to the latest versions of Vitest, Vite, and JSDom. These tests now have bigger timeout setting.

Investigate the cause and fix the tests so they don't need a bigger timeout.
- Something related to repeats?
- Something related to the reactive state (SolidJS)?
- ___?

Split the ticket if necessary.

---

### Related Issues

- https://github.com/getodk/web-forms/pull/360

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with packages/web-forms/tests/components/OdkWebForm.test.ts and the three files under packages/scenario/test listed in the issue, comparing their Firefox and JSDom timeout behavior after the Vitest, Vite, and JSDom upgrades. Investigate whether repeats or SolidJS reactive state contribute; done means the affected suites pass without larger timeout settings.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript, vite
Domain
testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.