Files
Reem-Notas/spec/models/variavel_personalizada_spec.rb

28 lines
1.1 KiB
Ruby

require 'rails_helper'
RSpec.describe VariavelPersonalizada do
it 'normaliza a chave (minúscula, sem espaço)' do
v = create(:variavel_personalizada, chave: ' Telefone Suporte ', valor: '4002-8922')
expect(v.chave).to eq('telefone_suporte')
expect(v.marcador).to eq('{{telefone_suporte}}')
end
it 'recusa chave com formato que o renderizador não substituiria' do
expect(build(:variavel_personalizada, chave: '2telefone')).not_to be_valid
expect(build(:variavel_personalizada, chave: 'telefone-suporte')).not_to be_valid
end
# Deixar o ADM criar {{valor}} faria a variável dele brigar com a do sistema —
# e o preview não mostraria o problema, só o envio real.
it 'recusa chave que já existe no sistema' do
v = build(:variavel_personalizada, chave: 'valor')
expect(v).not_to be_valid
expect(v.errors[:chave].join).to include('já existe no sistema')
end
it 'não aceita duas variáveis com a mesma chave' do
create(:variavel_personalizada, chave: 'site', valor: 'a')
expect(build(:variavel_personalizada, chave: 'SITE', valor: 'b')).not_to be_valid
end
end