Refactor all tests

All tests are refactored according to: https://github.com/thoughtbot/guides/tree/master/best-practices#testing

Now it is simpler to write new tests thanks to no let and before blocks... Also some of request spec tests are removed to avoid test duplication (search is tested in model specs).