Yeah I'm so glad we don't have this insane practice in Canada. Here workplace drug testing is only allowed for safety sensitive jobs, like truck drivers, people working around heavy equipment etc. mostly industrial jobs. And in other cases it would only be allowed if the employer has reasonable cause to suspect that a person is using drugs and it is affecting their job performance. But then, if a person tests positive, it must be treated as a health issue, in fact employers are obligated to contribute to costs of helping an employee go to rehab, something like that. It's not grounds for firing unless the employee refuses to seek treatment or continues to have problems in spite of it and cannot perform their job.
I've read some newspaper articles about up in the oil sands in Alberta a lot of the companies have been pushing hard to institute tough drug testing policies (there is lots of drug use up in places like Fort McMurray) and there have been many challenges in court and they consistently rule against frequent drug testing in the absence of cause or suspicion of use affecting performance.