require 'rails_helper'

RSpec.describe Projecao::IndiceDeProjecao, type: :model do
	it { is_expected.to belong_to :projecao_de_receita }
	it { is_expected.to belong_to :grupo_de_indice }

	it { is_expected.to validate_uniqueness_of(:nome).scoped_to(:grupo_de_indice_id).case_insensitive }

	it { is_expected.to validate_presence_of :nome}
	it { is_expected.to validate_presence_of :grupo_de_indice_id}
	it { is_expected.to validate_presence_of :projecao_de_receita_id}

	describe '#inicializa_projecoes_do_indice' do
		it 'cria as projeções do índice para os exercícios de projeção' do
			ppa = FactoryBot.create(:ppa_fortaleza_2020)
			projecao_de_receita = ppa.projecao_de_receita
			indice = Projecao::IndiceDeProjecao.new(FactoryBot.attributes_for :igpm, projecao_de_receita_id: projecao_de_receita.id)

			expect(indice.projecoes_do_indice.size).to eq 4
		end
	end
end
