refactor(error): enums are now namespaced
feature(request): add with_url constructor
refactor(tests): add test macros