refactor specs to use shared_examples_for as well as added some more specs to test links