main is currently red — this is the fix. Four tests fail on main right now; they pass again with this.
What happened
My fault, and worth recording because it is the classic version of this mistake.
#154 (required name and birth year) added two guardian-signup tests using 'password123' as their fixture password.
#155 (password validation) added PasswordPolicy, which rejects password123 by name as a well-known leaked password.
Each branch was green. Neither contained the other's change: I cut #155's branch from mainbefore#154 merged, and then rebased #155 onto a main that had moved — but a rebase only replays my commits, it does not re-run the other branch's tests against mine. The two landed in sequence and the combination had never been executed anywhere.
The fix
Both tests now use thistle-marrow-42, the policy-clearing fixture the other fifteen fixtures in the file already use. The deliberate 'password123' in the rejected-passwords data provider stays — that one is the whole point of the test.
The fixture password is a bare literal repeated ~16 times in RegistrationPageTest. A private const VALID_PASSWORD would say "a password that clears the policy" out loud and give the next policy change one place to break instead of sixteen. I left it out to keep this diff to the two lines that unbreak the build — happy to follow up.
**`main` is currently red — this is the fix.** Four tests fail on `main` right now; they pass again with this.
## What happened
My fault, and worth recording because it is the classic version of this mistake.
- **#154** (required name and birth year) added two guardian-signup tests using `'password123'` as their fixture password.
- **#155** (password validation) added `PasswordPolicy`, which rejects `password123` by name as a well-known leaked password.
Each branch was green. Neither contained the other's change: I cut #155's branch from `main` **before** #154 merged, and then rebased #155 onto a `main` that had moved — but a rebase only replays my commits, it does not re-run the other branch's tests against mine. The two landed in sequence and the combination had never been executed anywhere.
## The fix
Both tests now use `thistle-marrow-42`, the policy-clearing fixture the other fifteen fixtures in the file already use. The deliberate `'password123'` in the rejected-passwords data provider stays — that one is the whole point of the test.
## Verification
`composer test` 807 passing (4 failing before), `composer lint`, `composer cs` clean.
## Worth doing separately
The fixture password is a bare literal repeated ~16 times in `RegistrationPageTest`. A `private const VALID_PASSWORD` would say "a password that clears the policy" out loud and give the next policy change one place to break instead of sixteen. I left it out to keep this diff to the two lines that unbreak the build — happy to follow up.
#154 and #155 each passed on their own branch and broke on landing
together. #154 added two guardian-signup tests using 'password123' as
their fixture; #155 then added PasswordPolicy, which rejects exactly
that. Neither branch ever saw the other's change, because #155 was cut
from main before #154 merged.
Both tests now use the same policy-clearing fixture as the rest of the
file. The deliberate 'password123' in the rejected-passwords provider
stays — that one is the point.
Co-Authored-By: Claude Opus 5 <[email protected]>
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.
mainis currently red — this is the fix. Four tests fail onmainright now; they pass again with this.What happened
My fault, and worth recording because it is the classic version of this mistake.
'password123'as their fixture password.PasswordPolicy, which rejectspassword123by name as a well-known leaked password.Each branch was green. Neither contained the other's change: I cut #155's branch from
mainbefore #154 merged, and then rebased #155 onto amainthat had moved — but a rebase only replays my commits, it does not re-run the other branch's tests against mine. The two landed in sequence and the combination had never been executed anywhere.The fix
Both tests now use
thistle-marrow-42, the policy-clearing fixture the other fifteen fixtures in the file already use. The deliberate'password123'in the rejected-passwords data provider stays — that one is the whole point of the test.Verification
composer test807 passing (4 failing before),composer lint,composer csclean.Worth doing separately
The fixture password is a bare literal repeated ~16 times in
RegistrationPageTest. Aprivate const VALID_PASSWORDwould say "a password that clears the policy" out loud and give the next policy change one place to break instead of sixteen. I left it out to keep this diff to the two lines that unbreak the build — happy to follow up.