demarches-normaliennes/spec/helpers/champ_helper_spec.rb
2019-01-03 12:08:25 +01:00

64 lines
1.6 KiB
Ruby

require 'rails_helper'
RSpec.describe ChampHelper, type: :helper do
let(:type_de_champ) { create(:type_de_champ) }
let(:champ) { type_de_champ.champ.create }
describe '.formatted_value' do
subject { formatted_value(champ) }
describe 'for a checkbox' do
let(:type_de_champ) { create(:type_de_champ_checkbox) }
context 'when value is on' do
before { champ.update value: 'on' }
it { is_expected.to eq 'Oui' }
end
context 'when value is other' do
it { is_expected.to eq 'Non' }
end
end
describe 'for a engagement' do
let(:type_de_champ) { create(:type_de_champ_engagement) }
context 'when value is on' do
before { champ.update value: 'on' }
it { is_expected.to eq 'Oui' }
end
context 'when value is other' do
it { is_expected.to eq 'Non' }
end
end
describe 'for a multiple_drop_down_list' do
let(:type_de_champ) { create(:type_de_champ_multiple_drop_down_list) }
context 'when value is an array' do
before { champ.update value: '["1", "2"]' }
it { is_expected.to eq '1, 2' }
end
context 'when value is empty' do
before { champ.update value: '' }
it { is_expected.to eq '' }
end
end
describe "for a date" do
let(:type_de_champ) { create(:type_de_champ_date) }
context "when value is an ISO date" do
before { champ.update value: "2017-12-31" }
it { is_expected.to eq "31/12/2017" }
end
context "when value is empty" do
before { champ.update value: nil }
it { is_expected.to eq nil }
end
end
end
end