Мне интересно, как тестировать каналы ActionCable.
Скажем, у меня есть следующий канал чата:
class ChatChannel < ApplicationCable::Channel
def subscribed
current_user.increment!(:num_of_chats)
stream_from "chat_#{params[:chat_id]}"
stream_from "chat_stats_#{params[:chat_id]}"
end
end
Метод subscribed
обновляет db и определяет два потока, которые будут транслироваться по каналу, но детали не очень важны, поскольку мой вопрос является более общим:
- Как настроить тест для проверки логики, связанной с подпиской на этот канал?
RSpec предоставляет множество вспомогательных методов и различных утилит при тестировании подобных взаимодействий, таких как действие контроллера, но я могу найти что-либо в отношении RSpec и ActionCable.