Cleanup test suite

* better spec naming
* additional specs
* extract error contexts