add shoulda-matchers
refactor test