FactoryBot.define do
	factory :loa_gestora_hgf, class: 'Loa::UnidadeGestora' do
		codigo {"03"}
		nome {"Hospital geral de fortaleza"}
		data_de_cadastro {"2016-09-22"}
		numero_da_lei_de_criacao {"1234567890"}
		status_do_orcamento {0}
		cnpj {'33113309000147'}

		trait :orcamento_2016 do
			orcamento {
				Orcamento.find_or_create_by!( FactoryBot.attributes_for(:orcamento_2016) )
			}
		end

		trait :orcamento_2017 do
			orcamento {
				Orcamento.find_or_create_by!( FactoryBot.attributes_for(:orcamento_2017) )
			}
		end

		after(:create) do |unidade_gestora|
			unidade_gestora.gestores.create!(FactoryBot.attributes_for( :loa_gestor, unidade_gestora_id: unidade_gestora.id ))
		end
	end

	factory :loa_gestora_fes, class: 'Loa::UnidadeGestora' do
		codigo {"04"}
		nome {"Fundo especial"}
		data_de_cadastro {"2016-09-22"}
		numero_da_lei_de_criacao {"1234567890"}
		status_do_orcamento {0}
		cnpj {'33113309000147'}

		trait :orcamento_2016 do
			orcamento {
				Orcamento.find_or_create_by!( FactoryBot.attributes_for(:orcamento_2016) )
			}
		end

		trait :orcamento_2017 do
			orcamento {
				Orcamento.find_or_create_by!( FactoryBot.attributes_for(:orcamento_2017) )
			}
		end

		after(:create) do |unidade_gestora|
			unidade_gestora.gestores.create!(FactoryBot.attributes_for( :loa_gestor, unidade_gestora_id: unidade_gestora.id ))
		end
	end
	factory :loa_gestora_seduc, class: 'Loa::UnidadeGestora' do
		codigo {"02"}
		nome {"Secretaria de Educação"}
		data_de_cadastro {"2016-09-22"}
		numero_da_lei_de_criacao {"1234567890"}
		status_do_orcamento {0}
		cnpj {'33113309000147'}

		trait :orcamento_2016 do
			after(:build) do |unidade|
				unidade.orcamento ||= Orcamento.find_or_create_by!( FactoryBot.attributes_for(:orcamento_2016) )
			end
		end

		trait :orcamento_2017 do
			after(:build) do |unidade|
				orcamento ||= Orcamento.find_or_create_by!( FactoryBot.attributes_for(:orcamento_2017) )
			end
		end

		after(:create) do |unidade_gestora|
			unidade_gestora.gestores.create!(FactoryBot.attributes_for( :loa_gestor, unidade_gestora_id: unidade_gestora.id ))
		end
	end
	factory :loa_gestora_pref, class: 'Loa::UnidadeGestora' do
		codigo {"01"}
		nome {"Prefeitura"}
		data_de_cadastro {"2016-09-22"}
		numero_da_lei_de_criacao {"1234567890"}
		status_do_orcamento {0}
		cnpj {'33113309000147'}

		trait :orcamento_2016 do
			orcamento {
				Orcamento.find_or_create_by!( FactoryBot.attributes_for(:orcamento_2016) )
			}
		end

		trait :orcamento_2017 do
			orcamento {
				Orcamento.find_or_create_by!( FactoryBot.attributes_for(:orcamento_2017) )
			}
		end

		after(:create) do |unidade_gestora|
			unidade_gestora.gestores.create!(FactoryBot.attributes_for( :loa_gestor, unidade_gestora_id: unidade_gestora.id ))
		end
	end


end
