합격하다 and 통과하다 are similar words and often interchangable also but have some different uses. 합격하다 feels like passing a bigger test required to become a doctor or lawyer.
They both can be used to describe the passing of test like drivers test.
I've never heard this from a native speaker. They used 합격 for tests most of the time.
Isn't graduate basically the same as pass?
No, graduation is when you complete an entire educational program. You graduate from university, etc.