I blame the requirements documentation.
I sat and watched the door SLIDE closed, then went "haha I know what's gonna happen, the door is gonna open outwards when it's pushed as if there's no lock" boy was I wrong...
Ah, the old windows password that you could bypass by pushing cancel.
All I have this cryptic 2 sentence user story.
When your unit tests executed flawlessly but you forgot to do integration testing...
"I need it to have a bank vault security and it has to open like sports car doors"
Still better than the (recent!) Mac bug where entering the wrong root password set the password, so entering it twice let you in. Even if blank.
client should have been more clear about what they wanted
This is why we need integration tests people. Unit tests aren't sufficient!
*Proceeds to push code with only unit tests*