Selecting Easy on an Aptituderator quiz card does not stick. getQuizDifficulty uses map.get(id) || Medium, and QuizAttemptDifficulty.Easy = 0 is falsy, so Easy always falls back to Medium.
Wave 6 a2 tick7 adversarial DOM coverage (aptituderator.render.spec.ts).
## Summary
Selecting **Easy** on an Aptituderator quiz card does not stick. `getQuizDifficulty` uses `map.get(id) || Medium`, and `QuizAttemptDifficulty.Easy = 0` is falsy, so Easy always falls back to Medium.
## Location
`projects/spikersoft/src/app/_components/learning/aptituderator/aptituderator.component.ts` — `getQuizDifficulty`.
## Expected
After clicking the Easy chip, `getQuizDifficulty(quizId)` returns `QuizAttemptDifficulty.Easy` (0), and starting the quiz budgets 5 minutes/question.
## Actual
The map stores Easy correctly (`selectedDifficulties().get(id) === 0`), but `getQuizDifficulty` returns Medium. Start flow then uses Medium timing.
## Fix
Use nullish coalescing / `has()`:
```ts
const d = this.selectedDifficulties().get(quizId);
return d !== undefined ? d : QuizAttemptDifficulty.Medium;
```
## Caught by
Wave 6 a2 tick7 adversarial DOM coverage (`aptituderator.render.spec.ts`).
Already present on spikersoft-angularmaster. getQuizDifficulty uses nullish coalescing (??), so Easy (0) is no longer treated as unset. Closing.
Already present on `spikersoft-angular` `master`. `getQuizDifficulty` uses nullish coalescing (`??`), so Easy (`0`) is no longer treated as unset. 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
Selecting Easy on an Aptituderator quiz card does not stick.
getQuizDifficultyusesmap.get(id) || Medium, andQuizAttemptDifficulty.Easy = 0is falsy, so Easy always falls back to Medium.Location
projects/spikersoft/src/app/_components/learning/aptituderator/aptituderator.component.ts—getQuizDifficulty.Expected
After clicking the Easy chip,
getQuizDifficulty(quizId)returnsQuizAttemptDifficulty.Easy(0), and starting the quiz budgets 5 minutes/question.Actual
The map stores Easy correctly (
selectedDifficulties().get(id) === 0), butgetQuizDifficultyreturns Medium. Start flow then uses Medium timing.Fix
Use nullish coalescing /
has():Caught by
Wave 6 a2 tick7 adversarial DOM coverage (
aptituderator.render.spec.ts).Already present on
spikersoft-angularmaster.getQuizDifficultyuses nullish coalescing (??), so Easy (0) is no longer treated as unset. Closing.