Add chats controller spec

Always wanted to do some refactoring around chats_controller, it's quite messy now. But without any spec covers it, I fear to break things.

And by writing some specs we can really see what the controller is doing, and the tests code really smells, hope it can drive us to improve our design, like introducing a service object or so.