Mandatory urine testing seems vaguely creepy/invasive already, at least outside a narrow range of machine-operator type jobs. If you're working as a clerk or programmer or something, imo a company should limit itself to judging whether your work product meets its criteria. If it doesn't, they can lay you off, and it hardly matters whether the reason is that you're a pothead, just lazy, bad at your job, actively trying to screw with the company, or some other reason. Delving into your bodily fluids to try to determine if you're a good employee is weird.