diff --git a/spec/models/letter_spec.rb b/spec/models/letter_spec.rb index 13175320e..fef317ee1 100644 --- a/spec/models/letter_spec.rb +++ b/spec/models/letter_spec.rb @@ -53,7 +53,34 @@ describe 'Verification::Letter' do district: "CENTRO" }) end + end + describe "#verify?" do + + let(:letter) { build(:verification_letter) } + + it "letter not sent" do + letter.user.update(letter_sent_at: nil) + + expect(letter.verify?).to eq(false) + expect(letter.errors[:verification_code].first).to eq("We have not sent you the letter with the code yet") + end + + it "letter sent but incorrect code" do + letter.user.update(letter_sent_at: 1.day.ago, letter_verification_code: "123456") + letter.verification_code = nil + + expect(letter.verify?).to eq(false) + expect(letter.errors[:verification_code].first).to eq("Incorrect confirmation code") + end + + it "letter sent and correct code" do + letter.user.update(letter_sent_at: 1.day.ago, letter_verification_code: "123456") + letter.verification_code = "123456" + + expect(letter.verify?).to eq(true) + expect(letter.errors).to be_empty + end end end \ No newline at end of file