github-community-projects / github-community-projects/private-mirrors
Separate out types of tests
- Dominant language
- TypeScript
- Stars
- 196
- Forks
- 41
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 4
Description
## Summary
As part of implementing #120/#121, or maybe alongside #428, separate out unit tests from UI and API tests which test the app end to end more fully. This would make it easier to run unit tests, which tend to be smaller in scope and faster to execute, in isolation.
As part of the changes in https://github.com/github-community-projects/private-mirrors/pull/429, we could choose to run specific types of tests against supported Node.js versions.
In the end, the project should have
1. comprehensive unit tests
2. more "end-to-end" tests covering holistic app functionality
3. UI and API tests covering those specific sets of functionality
## Context
> As an aside, as part of #411, I noticed that the tests in [`test/app.ts`](https://github.com/github-community-projects/private-mirrors/blob/main/test/app.ts) and [`test/app.test.ts`](https://github.com/github-community-projects/private-mirrors/blob/main/test/app.test.ts) both felt somewhat overlapping and somewhat larger than unit tests. As part of implementing this issue, or maybe alongside #428, I'd like to get unit tests separated from UI and API tests that test the app end to end more fully. I'll extract this out to its own issue.
_Originally posted by @wrslatz in [#120](https://github.com/github-community-projects/private-mirrors/issues/120#issuecomment-4281575648)_
Contributor guide
Research direction
Start by comparing test/app.ts and test/app.test.ts, then review the scope of issues #120, #121, #428, and #411 plus pull request #429. Separate unit tests from UI and API/end-to-end coverage, and ensure the project has distinct comprehensive unit, holistic end-to-end, and UI/API test sets that can be run independently.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- testing
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100