describe Champs::RNAChamp do
  let(:champ) { create(:champ_rna, value: "W182736273") }

  describe '#valid?' do
    it { expect(build(:champ_rna, value: nil).valid?(:champs_public_value)).to be_truthy }
    it { expect(build(:champ_rna, value: "2736251627").valid?(:champs_public_value)).to be_falsey }
    it { expect(build(:champ_rna, value: "A172736283").valid?(:champs_public_value)).to be_falsey }
    it { expect(build(:champ_rna, value: "W1827362718").valid?(:champs_public_value)).to be_falsey }
    it { expect(build(:champ_rna, value: "W182736273").valid?(:champs_public_value)).to be_truthy }
  end

  describe "#export" do
    context "with association title" do
      before do
        champ.update(data: { association_titre: "Super asso" })
      end

      it { expect(champ.for_export).to eq("W182736273 (Super asso)") }
    end

    context "no association title" do
      it { expect(champ.for_export).to eq("W182736273") }
    end
  end
end