Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
cb75333
unit test
trtshen Mar 20, 2025
229c7cb
cleared some errors
trtshen Mar 20, 2025
a4ee0df
Merge branch 'trunk' into unit-test-reinstate
trtshen Apr 16, 2025
9acbd40
corrected fixture
trtshen Apr 16, 2025
c0ac9dd
Merge remote-tracking branch 'origin/trunk' into unit-test-reinstate
trtshen May 5, 2025
76a0257
type errors
trtshen May 5, 2025
cb66211
notificationservice circular dependencies
trtshen May 5, 2025
da8f7f1
Merge remote-tracking branch 'origin/trunk' into unit-test-reinstate
trtshen May 20, 2025
2f1e69e
jasmine & karma
trtshen May 20, 2025
75aaae9
Merge remote-tracking branch 'origin/trunk' into unit-test-reinstate
trtshen May 21, 2025
12ba019
reduce circular dependencies
trtshen May 22, 2025
a439449
Merge remote-tracking branch 'origin/trunk' into unit-test-reinstate
trtshen Dec 15, 2025
66119d9
refactor services and tests to improve modularity and reduce coupling
trtshen Dec 17, 2025
77ab4b6
Merge remote-tracking branch 'origin/trunk' into unit-test-reinstate
trtshen Dec 19, 2025
44bd7f2
Merge remote-tracking branch 'origin/release/live' into unit-test-rei…
trtshen Feb 21, 2026
ced348d
add unit tests for due dates, review desktop, settings, tabs, and top…
trtshen Feb 23, 2026
4173a79
merge origin/trunk into unit-test-reinstate - resolve conflicts
trtshen Mar 18, 2026
ac38082
fix: update broken tests after merge from origin/trunk
trtshen Mar 18, 2026
704641f
Merge remote-tracking branch 'origin/trunk' into unit-test-reinstate
trtshen Mar 18, 2026
7bbb83b
add tests for review and assessment modes in components
trtshen Mar 18, 2026
826c104
Merge remote-tracking branch 'origin/trunk' into unit-test-reinstate
trtshen Mar 19, 2026
7b3a0c0
Merge remote-tracking branch 'origin/trunk' into unit-test-reinstate
trtshen Mar 20, 2026
dfb0fbc
add unit tests for various components and functionalities
trtshen Mar 20, 2026
d81bd77
Merge remote-tracking branch 'origin/trunk' into unit-test-reinstate
trtshen Mar 22, 2026
c906905
Merge remote-tracking branch 'origin/trunk' into unit-test-reinstate
trtshen Apr 2, 2026
8b0fb49
merged latest from trunk + conflicts resolved
trtshen Apr 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
.vscode/

assets/newrelic.js
output/
coverage/
tests/
platforms
Expand Down
1 change: 1 addition & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
audit-level=moderate
5 changes: 4 additions & 1 deletion angular.json
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,10 @@
"include": ["projects/v3/src/**/*.spec.ts"],
"assets": ["./projects/v3/src/assets/icon/favicon.ico", "projects/v3/src/assets"],
"styles": ["projects/v3/src/styles.scss"],
"scripts": []
"scripts": [],
"watch": false,
"progress": false,
"sourceMap": false
}
},
"lint": {
Expand Down
82 changes: 82 additions & 0 deletions docs/coverage-run-cookbook.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# Coverage Run Cookbook (v3)

> Fast, repeatable coverage workflow for this repo.

## Quick Rules

- Use targeted coverage runs first; use full-suite only after targeted changes pass.
- Use workspace-relative include paths starting with `projects/v3/src/...`.
- Save logs under `./output` for every run.
- Prefer `ChromeHeadless` for CI-like behavior.

## 1) Targeted Coverage Run (Single Spec)

```bash
npm test -- --code-coverage --browsers=ChromeHeadless --include='projects/v3/src/app/pages/tabs/tabs.page.spec.ts' > ./output/coverage-targeted-tabs.log 2>&1
```

## 2) Targeted Coverage Run (Multiple Specs)

```bash
npm test -- --code-coverage --browsers=ChromeHeadless \
--include='projects/v3/src/app/pages/activity-mobile/activity-mobile.page.spec.ts' \
--include='projects/v3/src/app/pages/topic-mobile/topic-mobile.page.spec.ts' \
--include='projects/v3/src/app/pages/tabs/tabs.page.spec.ts' \
--include='projects/v3/src/app/pages/chat/chat-list/chat-list.component.spec.ts' \
--include='projects/v3/src/app/pages/chat/chat-preview/chat-preview.component.spec.ts' \
> ./output/coverage-targeted-mobile-chat-tabs-topic.log 2>&1
```

## 3) Full-Suite Coverage Run

```bash
npm run test -- --code-coverage --browsers=ChromeHeadless > ./output/full-suite-coverage.log 2>&1
```

## 4) Open HTML Coverage Report

```bash
open coverage/v3/index.html
```

Open folder-level reports directly when needed, for example:

- `coverage/v3/src/app/pages/activity-mobile/index.html`
- `coverage/v3/src/app/pages/topic-mobile/index.html`
- `coverage/v3/src/app/pages/tabs/index.html`
- `coverage/v3/src/app/pages/chat/chat-list/index.html`

## 5) Tail Logs Quickly

```bash
wc -l ./output/full-suite-coverage.log && tail -n 60 ./output/full-suite-coverage.log
```

## 6) What Is Noise vs Blocker?

Usually non-blocking during this repo’s test runs:

- `NG0303/NG0304` unknown element/property warnings
- Ionic runtime warnings in templates
- SVG/asset `404` warnings in Karma output

Treat as blockers:

- TypeScript compile errors
- Karma `ERROR` status
- `Some of your tests did a full page reload!`

## 7) Prevent Common Flaky Failures

- Do not assign `window.location.href`/`location` directly in unit tests.
- Spy/mock navigation helpers or Angular Router instead.
- If a component destroys external instances in `ngOnDestroy`, initialize mocks with `destroy` spies in tests.
- Add explicit branch tests for keyboard guards (`Enter`, `Space`, unsupported keys).

## 8) Suggested Workflow

1. Run targeted specs for changed files.
2. Fix compile/runtime test failures.
3. Verify folder-level coverage HTML for target modules.
4. Run one full-suite coverage pass.
5. Save/hand over logs from `./output`.
Loading
Loading