fix(dossier): champs repetable in champs private
This commit is contained in:
parent
19edbdbf6a
commit
4523c0590c
2 changed files with 21 additions and 1 deletions
|
@ -148,7 +148,7 @@ class Champ < ApplicationRecord
|
|||
# predictable input name.
|
||||
def input_name
|
||||
if parent_id
|
||||
"#{parent.input_name}[#{champs_attributes_accessor}][#{id}]"
|
||||
"#{parent.input_name}[champs_attributes][#{id}]"
|
||||
else
|
||||
"dossier[#{champs_attributes_accessor}][#{id}]"
|
||||
end
|
||||
|
|
|
@ -602,5 +602,25 @@ describe Champ do
|
|||
expect(champ.reload.data).to eq data
|
||||
end
|
||||
end
|
||||
|
||||
context "#input_name" do
|
||||
let(:champ) { create(:champ_text) }
|
||||
it { expect(champ.input_name).to eq "dossier[champs_attributes][#{champ.id}]" }
|
||||
|
||||
context "when private" do
|
||||
let(:champ) { create(:champ_text, private: true) }
|
||||
it { expect(champ.input_name).to eq "dossier[champs_private_attributes][#{champ.id}]" }
|
||||
end
|
||||
|
||||
context "when has parent" do
|
||||
let(:champ) { create(:champ_text, parent: create(:champ_text)) }
|
||||
it { expect(champ.input_name).to eq "dossier[champs_attributes][#{champ.parent_id}][champs_attributes][#{champ.id}]" }
|
||||
end
|
||||
|
||||
context "when has private parent" do
|
||||
let(:champ) { create(:champ_text, private: true, parent: create(:champ_text, private: true)) }
|
||||
it { expect(champ.input_name).to eq "dossier[champs_private_attributes][#{champ.parent_id}][champs_attributes][#{champ.id}]" }
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue