Mi chiedo come testare i canali ActionCable.Come posso testare i canali ActionCable usando RSpec?
Diciamo che ho il seguente canale di chat:
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
Il metodo subscribed
aggiorna il db e definisce due flussi per essere trasmesso attraverso il canale, ma i dettagli non sono molto importante dal momento che la mia domanda è un altro generale:
- Come è possibile impostare un test per verificare la logica coinvolta iscrivendosi a questo canale?
RSpec fornisce molti metodi di supporto e varie utilità per testare interazioni simili come l'azione del controller, ma ho potuto trovare qualsiasi cosa riguardante RSpec e ActionCable.
Questa è una buona idea, grazie, ma (e correggetemi se sbaglio) utilizzando VCR (e TCR analogamente) ha un senso quando si voglio bloccare le richieste http esterne (ad esempio se l'azione del mio controller emette una chiamata esterna), ma questo non è il caso qui - qui voglio solo invocare i miei metodi interni. Ma ancora una volta - è una buona idea e ci provo. – Dani
Hey Dani, hai trovato una soluzione? Se sì, potresti indicare un repo che potrei controllare? –