used in the child-account removal path (keycloak.logout() when the backend reports the user no longer exists). The component's spec TestBed.configureTestingModule({ providers: [...] }) was never updated to provide Keycloak, so DI throws at createComponent. This matches the pattern every other component/service spec already follows ({ provide: Keycloak, useValue: mock }).
Fix
Provide a minimal Keycloak stub ({ authenticated: true, logout: vi.fn() }) in the profile spec's providers, mirroring the existing convention (e.g. contact.component.spec.ts, menu-bar.component.spec.ts).
Acceptance criteria
nx test spikersoft is green (all profile specs pass).
No production code change required — test-only fix.
Severity
High (CI-blocking) but low-risk (test-only).
## Summary
The frontend test pipeline is red. All **54 tests** in `projects/spikersoft/src/app/_components/profile/profile.component.spec.ts` fail with:
```
ɵNotFound: NG0201: No provider found for `Keycloak`. Source: Standalone[_ProfileComponent].
```
Every other spec passes (1769 passed / 7 skipped before the fix), so this single file is what breaks `nx test spikersoft`.
## Root cause
`ProfileComponent` gained a `Keycloak` dependency:
```ts
// profile.component.ts
import Keycloak from "keycloak-js";
...
private readonly keycloak = inject(Keycloak);
```
used in the child-account removal path (`keycloak.logout()` when the backend reports the user no longer exists). The component's spec `TestBed.configureTestingModule({ providers: [...] })` was never updated to provide `Keycloak`, so DI throws at `createComponent`. This matches the pattern every other component/service spec already follows (`{ provide: Keycloak, useValue: mock }`).
## Fix
Provide a minimal `Keycloak` stub (`{ authenticated: true, logout: vi.fn() }`) in the profile spec's providers, mirroring the existing convention (e.g. `contact.component.spec.ts`, `menu-bar.component.spec.ts`).
## Acceptance criteria
- [ ] `nx test spikersoft` is green (all profile specs pass).
- [ ] No production code change required — test-only fix.
## Severity
High (CI-blocking) but low-risk (test-only).
Resolved in spikersoft-angular PR #87 (merged to master). Added a minimal Keycloak stub to profile.component.spec.ts's TestBed providers, matching the repo-wide convention. nx test spikersoft is green again: 1823 passed / 7 skipped (was 54 failed). Closing.
Resolved in spikersoft-angular PR #87 (merged to `master`). Added a minimal `Keycloak` stub to `profile.component.spec.ts`'s `TestBed` providers, matching the repo-wide convention. `nx test spikersoft` is green again: 1823 passed / 7 skipped (was 54 failed). Closing.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
The frontend test pipeline is red. All 54 tests in
projects/spikersoft/src/app/_components/profile/profile.component.spec.tsfail with:Every other spec passes (1769 passed / 7 skipped before the fix), so this single file is what breaks
nx test spikersoft.Root cause
ProfileComponentgained aKeycloakdependency:used in the child-account removal path (
keycloak.logout()when the backend reports the user no longer exists). The component's specTestBed.configureTestingModule({ providers: [...] })was never updated to provideKeycloak, so DI throws atcreateComponent. This matches the pattern every other component/service spec already follows ({ provide: Keycloak, useValue: mock }).Fix
Provide a minimal
Keycloakstub ({ authenticated: true, logout: vi.fn() }) in the profile spec's providers, mirroring the existing convention (e.g.contact.component.spec.ts,menu-bar.component.spec.ts).Acceptance criteria
nx test spikersoftis green (all profile specs pass).Severity
High (CI-blocking) but low-risk (test-only).
Resolved in spikersoft-angular PR #87 (merged to
master). Added a minimalKeycloakstub toprofile.component.spec.ts'sTestBedproviders, matching the repo-wide convention.nx test spikersoftis green again: 1823 passed / 7 skipped (was 54 failed). Closing.