From 50b1571126db6f3ee4a18b8a0820a1a4c33f837e Mon Sep 17 00:00:00 2001 From: rgarcia Date: Mon, 28 Mar 2016 12:14:33 +0200 Subject: [PATCH] adds code to spending proposals --- app/models/spending_proposal.rb | 4 ++++ spec/models/spending_proposal_spec.rb | 13 +++++++++++++ 2 files changed, 17 insertions(+) diff --git a/app/models/spending_proposal.rb b/app/models/spending_proposal.rb index df5cb17e4..81293b386 100644 --- a/app/models/spending_proposal.rb +++ b/app/models/spending_proposal.rb @@ -76,4 +76,8 @@ class SpendingProposal < ActiveRecord::Base not feasible? end + def code + "#{id}" + (administrator.present? ? "-#{administrator.id}" : "") + end + end diff --git a/spec/models/spending_proposal_spec.rb b/spec/models/spending_proposal_spec.rb index bf5ee138f..9ca2fae94 100644 --- a/spec/models/spending_proposal_spec.rb +++ b/spec/models/spending_proposal_spec.rb @@ -94,6 +94,19 @@ describe SpendingProposal do an exception occurs when sending the unfeasible email, because spending_proposal.administrator.id is nil.." end + + describe "#code" do + let(:spending_proposal) { create(:spending_proposal) } + + it "returns the proposal id" do + expect(spending_proposal.code).to eq("#{spending_proposal.id}") + end + + it "returns the administrator id when assigned" do + spending_proposal.administrator = create(:administrator) + expect(spending_proposal.code).to eq("#{spending_proposal.id}-#{spending_proposal.administrator.id}") + end + end end describe "by_admin" do