64 lines
1.6 KiB
Ruby
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
|