add unit test coverage for PanelService
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 1/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 88/100
- Issue type
- Refactor
- Clarity
- Clearly specified
- Activity status
- Quiet
- Tech stack
- typescript
Research direction
Read frontend/src/app/workspace/service/panel/panel.service.ts and follow the plain describe/it/expect style in size-formatter.util.spec.ts. Add frontend/src/app/workspace/service/panel/panel.service.spec.ts, then run ng test. Done means resetPanels() and closePanels() each emit once on their own stream and never emit on the other stream.
Written by the indexing model from the issue text.
Description
Task Summary
Add panel.service.spec.ts covering PanelService, a tiny event bus that exposes two Subject<void> streams (closePanelStream, resetPanelStream) with closePanels() / resetPanels() triggers.
Background
frontend/src/app/workspace/service/panel/panel.service.ts is a dependency-free service (instantiable directly via new PanelService()), so no TestBed wiring is required.
get resetPanelStream() { return this.resetPanelSubject.asObservable(); }
resetPanels() { this.resetPanelSubject.next(); }
get closePanelStream() { return this.closePanelSubject.asObservable(); }
closePanels() { this.closePanelSubject.next(); }
Behavior to pin
| Scenario | Contract |
|---|---|
subscribe resetPanelStream, call resetPanels() |
subscriber fires exactly once |
subscribe closePanelStream, call closePanels() |
subscriber fires exactly once |
| stream independence | calling resetPanels() does not emit on closePanelStream, and vice-versa |
Subscribe to the stream, invoke the trigger, and assert the emission count (e.g. increment a counter in the subscription). Follow size-formatter.util.spec.ts for the plain describe/it/expect style (ng test).
Scope
- New spec:
frontend/src/app/workspace/service/panel/panel.service.spec.ts. - No production-code changes.
Task Type
- Refactor / Cleanup
- DevOps / Deployment / CI
- Testing / QA
- Documentation
- Performance
- Other
- Dominant language
- Scala
- Stars
- 316
- Forks
- 192
- Avg merge
- 4d 17h
- Merged PRs (30d)
- 141
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from apache/texera
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
apache/texera#8775 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
apache/texera#8756 · 4 comments ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
apache/texera#8700 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
apache/texera#8682 · 5 comments ·
Maintainers usually reply within 1 day
-
JSONL File Scan reads a JSON null as the text "null"Possibly taken @CaroFernando claimed this 4 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
apache/texera#8674 · 1 comment · 1 assignee ·
Maintainers usually reply within 1 day
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
A-consensus C-question
Difficulty 1/5 Under an hour Newbie friendliness 74/100
ergoplatform/ergo#2624 ·
Maintainers usually reply within 3 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
[Rust][Flaky Test] multiple_deadlines_fire_in_order asserts a wall-clock gap instead of firing orderOpenCI/CD ⚒️ Flaky-tests 🐦
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
valkey-io/valkey-glide#7255 ·
Maintainers usually reply within 3 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
lichess-org/lila#21905 ·
Maintainers usually reply within 1 day