From 5fec3b9858bf97ec729b94077aca7c90dfcbbb81 Mon Sep 17 00:00:00 2001 From: kikito Date: Mon, 11 Apr 2016 12:21:11 +0200 Subject: [PATCH] persists responsible name, even if the user is erased --- app/models/spending_proposal.rb | 2 +- spec/models/spending_proposal_spec.rb | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/app/models/spending_proposal.rb b/app/models/spending_proposal.rb index c49b745e1..69d4d839f 100644 --- a/app/models/spending_proposal.rb +++ b/app/models/spending_proposal.rb @@ -123,7 +123,7 @@ class SpendingProposal < ActiveRecord::Base end def set_responsible_name - self.responsible_name = author.try(:document_number) + self.responsible_name = author.try(:document_number) if author.try(:document_number).present? end end diff --git a/spec/models/spending_proposal_spec.rb b/spec/models/spending_proposal_spec.rb index 3d32e383b..ba18287e6 100644 --- a/spec/models/spending_proposal_spec.rb +++ b/spec/models/spending_proposal_spec.rb @@ -262,10 +262,18 @@ describe SpendingProposal do end describe "responsible_name" do + let(:user) { create(:user, document_number: "123456") } + let!(:spending_proposal) { create(:spending_proposal, author: user) } + it "gets updated with the document_number" do - u = create(:user, document_number: "123456") - sp = create(:spending_proposal, author: u) - expect(sp.responsible_name).to eq("123456") + expect(spending_proposal.responsible_name).to eq("123456") + end + + it "does not get updated if the user is erased" do + user.erase + expect(user.document_number).to be_blank + spending_proposal.touch + expect(spending_proposal.responsible_name).to eq("123456") end end