Atualização do READ.ME
This commit is contained in:
@@ -132,3 +132,43 @@ RSpec.describe Notificacao::Despachante do
|
||||
expect { despachar }.not_to change(NotificacaoEnvio, :count)
|
||||
end
|
||||
end
|
||||
|
||||
# Buscar o evento pela `chave` fazia só o de SISTEMA disparar: um evento criado
|
||||
# pelo ADM com o mesmo gatilho ficava mudo para sempre, sem erro nenhum — a tela
|
||||
# oferecia o gatilho e nada acontecia.
|
||||
RSpec.describe Notificacao::Despachante, '.disparar_gatilho' do
|
||||
it 'agenda TODOS os eventos ativos do gatilho, não só o de sistema' do
|
||||
sistema = create(:evento_notificacao, gatilho: 'valor_alterado', chave: 'valor_alterado', sistema: true)
|
||||
do_adm = create(:evento_notificacao, gatilho: 'valor_alterado', chave: 'aviso_extra')
|
||||
create(:evento_notificacao, gatilho: 'pagamento_efetuado', chave: 'outro')
|
||||
|
||||
agendados = []
|
||||
allow(NotificacaoJob).to receive(:perform_later) { |id, *| agendados << id }
|
||||
|
||||
described_class.disparar_gatilho(gatilho: 'valor_alterado', corpo: 'x')
|
||||
|
||||
expect(agendados).to contain_exactly(sistema.id, do_adm.id)
|
||||
end
|
||||
|
||||
it 'ignora evento desativado' do
|
||||
create(:evento_notificacao, gatilho: 'valor_alterado', chave: 'desligado', ativo: false)
|
||||
allow(NotificacaoJob).to receive(:perform_later)
|
||||
|
||||
described_class.disparar_gatilho(gatilho: 'valor_alterado', corpo: 'x')
|
||||
|
||||
expect(NotificacaoJob).not_to have_received(:perform_later)
|
||||
end
|
||||
|
||||
# O botão "disparar agora" mira UM evento — ali a chave é o identificador certo.
|
||||
it '.disparar continua agendando só o evento da chave' do
|
||||
alvo = create(:evento_notificacao, gatilho: 'manual', chave: 'so_este')
|
||||
create(:evento_notificacao, gatilho: 'manual', chave: 'outro_manual')
|
||||
|
||||
agendados = []
|
||||
allow(NotificacaoJob).to receive(:perform_later) { |id, *| agendados << id }
|
||||
|
||||
described_class.disparar(chave: 'so_este', corpo: 'x')
|
||||
|
||||
expect(agendados).to eq([alvo.id])
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user