FactoryBot.define do
	factory :projecao_de_despesa, class: 'Ppa::ProjecaoDeDespesa' do
		exercicio {2014}
		valor {"99.99"}
		unidade_orcamentaria_id {
			Ppa::UnidadeOrcamentaria.find_by( nome: 'Administração' ).try(:id) ||
			FactoryBot.create(:unidade_orcamentaria_administracao).id
		}

		trait :despesa_corrente do
			tipo_de_despesa_id {
				Base::TipoDeDespesa.despesa_corrente.try(:id) ||
				FactoryBot.create(:despesa_corrente).id
			}
		end

		trait :despesa_de_capital do
			tipo_de_despesa_id {
				Base::TipoDeDespesa.despesa_de_capital.try(:id) ||
				FactoryBot.create(:despesa_de_capital).id
			}
		end

		trait :iniciativa do
			orcador_id {
				Ppa::Iniciativa.find_or_create_by(FactoryBot.attributes_for :ppa_iniciativa_para_ensino_fundamental)
			}
			orcador_type {"Ppa::Iniciativa"}
		end

		trait :programa do
			orcador_id {
				Ppa::Programa.find_or_create_by(FactoryBot.attributes_for :programa_escolar)
			}
			orcador_type {"Ppa::Programa"}
		end
	end
end
