Db

Simplified testing by removing boilerplate (setUp function), just subclass TestCase from __init__.

Added flask-testing for testing utilities

Added database module (sql-alchemy). The db location might not be ideal.

Added user model, views and templates for login, register, dashboard and logout

Added error pages,

Added utilities file for utilities
I think you can simplifiy this a bit if you don't pass in current_user to the function but rather just look it up in the decorator directly, that way you don't need the wrapper around the decorator, and you won't have the slightly confusing evaluation at import-time of the function and the then-current user.