Abstracted all the similar pattern, now can add tests faily easily
Tried to get codeclimate coverage report