test(drivers): driver methods reject Promise when ready() rejects

Merges PR #199 ('More rejects') and adds tests.
Closes #197 (Adds tests for issue #195 and the changes found in PR #196).