Can the employer fire Bob if they refuse to provide saliva sample for a marijuana test?
Maybe, if drug testing is an enforceable condition of Bob's contract of employment.
An employer's drug testing policy has to be justified according to the nature of the work carried out and requires an employee's consent. If Bob is required to occasionally operate machinery, for example, then it may be proportionate to include mandatory testing in his contract of employment.
Workers can’t be made to take a drugs test but if they refuse when the employer has good grounds for testing, they may face disciplinary action. Source
Employers have a legal duty of care under s.2 of the Health and Safety at Work etc Act 1974 to ensure, so far as reasonably practicable, the health, safety, and welfare of their employees. Employees have a comparable duty under s.7 to take reasonable care of themselves and anyone who could be affected by their work.
This duty of care may extend to requiring an employee to give their consent for drug testing / screening - as long as the process is fair to all, proportionate and justified, in all the given circumstances, to enable the employer to discharge this duty.