refactor tests to avoid the DB
refactor and update tests for change in requirements
refactor tag and tagging tests
update tag abilities for changed requirements