require 'rails_helper'

RSpec.describe Obra::Transferencia, type: :model do

	it{ is_expected.to belong_to :obra }
	it{ is_expected.to belong_to(:unidade_orcamentaria).required }
	it{ is_expected.to belong_to :funcao }
	it{ is_expected.to belong_to :conta_bancaria }
	it{ is_expected.to belong_to(:natureza_da_receita).class_name('Base::NaturezaDaReceita') }
	it{ is_expected.to belong_to(:natureza_da_receita_aplicacao_fin).class_name('Base::NaturezaDaReceita') }
	it{ is_expected.to belong_to(:orgao_cedente).class_name('Base::Pessoa').with_foreign_key(:orgao_cedente_id).required }
	it{ is_expected.to belong_to(:pre_convenio).class_name('Obra::PreConvenio') }

	[:data, :tipo, :modalidade, :conta_bancaria, :esfera
	].each do |atributo|
		it{ is_expected.to validate_presence_of atributo }
	end

	context "É um Convenio" do
		[:inicio_da_vigencia , :fim_da_vigencia, :valor_contrapartida, :valor_repasse].each do |atributo|
			before { allow(subject).to receive(:convenio?).and_return(true) }
			it{ is_expected.to validate_presence_of atributo }
		end
	end
end
