From 34218d112b0e8b9372dd6eb69246c7fd06c39a67 Mon Sep 17 00:00:00 2001 From: rgarcia Date: Sat, 5 Sep 2015 23:57:47 +0200 Subject: [PATCH] increases residence verification tries after a Census call --- .../verification/residence_controller.rb | 1 - app/models/verification/residence.rb | 6 ++++-- spec/factories.rb | 1 + spec/models/residence_spec.rb | 15 +++++++++++++++ 4 files changed, 20 insertions(+), 3 deletions(-) diff --git a/app/controllers/verification/residence_controller.rb b/app/controllers/verification/residence_controller.rb index 515f98ca3..bd4ab082a 100644 --- a/app/controllers/verification/residence_controller.rb +++ b/app/controllers/verification/residence_controller.rb @@ -12,7 +12,6 @@ class Verification::ResidenceController < ApplicationController if @residence.save redirect_to verified_user_path, notice: t('verification.residence.create.flash.success') else - current_user.update(residence_verification_tries: current_user.residence_verification_tries += 1) render :new end end diff --git a/app/models/verification/residence.rb b/app/models/verification/residence.rb index 26b994c8e..3ba773e9a 100644 --- a/app/models/verification/residence.rb +++ b/app/models/verification/residence.rb @@ -34,12 +34,14 @@ class Verification::Residence def residence_in_madrid return if errors.any? - self.date_of_birth = date_to_string(date_of_birth) residency = CensusApi.new(self) - errors.add(:residence_in_madrid, false) unless residency.valid? + unless residency.valid? + errors.add(:residence_in_madrid, false) + user.update(residence_verification_tries: user.residence_verification_tries += 1) + end self.date_of_birth = string_to_date(date_of_birth) end diff --git a/spec/factories.rb b/spec/factories.rb index aaa9f222c..07b4e9557 100644 --- a/spec/factories.rb +++ b/spec/factories.rb @@ -21,6 +21,7 @@ FactoryGirl.define do end factory :verification_residence, class: Verification::Residence do + user document_number '12345678Z' document_type 1 date_of_birth Date.new(1980, 12, 31) diff --git a/spec/models/residence_spec.rb b/spec/models/residence_spec.rb index ab0ab64f3..481940ec4 100644 --- a/spec/models/residence_spec.rb +++ b/spec/models/residence_spec.rb @@ -54,4 +54,19 @@ describe Verification::Residence do end + describe "tries" do + it "should increase tries after a call to the Census" do + residence.postal_code = "12345" + + expect { residence.valid? }.to change{ + residence.user.residence_verification_tries }.from(0).to(1) + end + + it "should not increase tries after a validation error" do + residence.postal_code = "" + expect { residence.valid? }.to_not change{ + residence.user.residence_verification_tries } + end + end + end \ No newline at end of file