FactoryBot.define do
	factory :loa_secretaria_de_saude, class: Loa::Orgao do
		codigo {"04"}
		sigla {'SEFIN'}
		nome {"Secretaria de Finanças"}
		cnpj {"03515732000102"}
		endereco {"Rua General Bezerril, 730 - Centro, Fortaleza - CE"}
		cep {"60055100"}
		telefone {"08531051203"}
		fax {"08531051299"}
		email {"sefin@ce.gov.br"}
		status_do_orcamento {0}
		horario_inicio_funcionamento {"01:00"}
		horario_fim_funcionamento {"23:00"}

		trait :orcamento_2016 do
			after(:build) do |orgao|
			  orgao.orcamento ||= FactoryBot.create(:orcamento_2016)
			  orgao.tipo_de_unidade_administrativa ||= FactoryBot.create(:unidade_outros, :orcamento_2016)
			end
		  end

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

			tipo_de_unidade_administrativa_id {
				Base::TipoDeUnidadeAdministrativa.find_or_create_by!( FactoryBot.attributes_for(:unidade_outros, :orcamento_2017) ).id
			}
		end

	end

	factory :loa_desenvolvimento_economico, class: Loa::Orgao do
		codigo {"05"}
		sigla {'SEDESE'}
		nome {"SEC DE DESENVOLVIMENTO ECONOMICO"}
		cnpj {"03515732000102"}
		endereco {"Rua General Bezerril, 730 - Centro, Fortaleza - CE"}
		cep {"60055100"}
		telefone {"08531051203"}
		fax {"08531051299"}
		email {"sefin@ce.gov.br"}
		status_do_orcamento {0}
		horario_inicio_funcionamento {"01:00"}
		horario_fim_funcionamento {"23:00"}

		trait :orcamento_2016 do

			tipo_de_unidade_administrativa_id {
				Base::TipoDeUnidadeAdministrativa.find_or_create_by!( FactoryBot.attributes_for(:unidade_outros, :orcamento_2016) ).id
			}

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

		trait :orcamento_2017 do

			tipo_de_unidade_administrativa_id {
				Base::TipoDeUnidadeAdministrativa.find_or_create_by!( FactoryBot.attributes_for(:unidade_outros, :orcamento_2017) ).id
			}

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

	end

	factory :loa_secretaria_da_educacao, class: Loa::Orgao do
		codigo {"07"}
		sigla {'SEDUC'}
		nome {"Secretaria da Educação"}
		cnpj {"03515732000102"}
		endereco {"Rua Gonçalves Ledo, 530 - Centro, Fortaleza - CE"}
		cep {"60044100"}
		telefone {"08531011551"}
		fax {"08531051299"}
		email {"seduc@ce.gov.br"}
		status_do_orcamento {0}
		horario_inicio_funcionamento {"01:00"}
		horario_fim_funcionamento {"23:00"}

		trait :orcamento_2016 do

			tipo_de_unidade_administrativa_id {
				Base::TipoDeUnidadeAdministrativa.find_or_create_by!( FactoryBot.attributes_for(:unidade_outros, :orcamento_2016) ).id
			}

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

		trait :orcamento_2017 do

			tipo_de_unidade_administrativa_id {
				Base::TipoDeUnidadeAdministrativa.find_or_create_by!( FactoryBot.attributes_for(:unidade_outros, :orcamento_2017) ).id
			}

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

	end

	factory :loa_prefeitura, class: Loa::Orgao do
		codigo {"AA"}
		sigla {'Pref'}
		nome {"Prefeitura de Beberibe"}
		cnpj {"03515732000102"}
		endereco {"Rua Gonçalves Ledo, 530 - Centro, Beberibe - CE"}
		cep {"60044100"}
		telefone {"08531011551"}
		fax {"08531051299"}
		email {"seduc@ce.gov.br"}
		horario_inicio_funcionamento {'08:00'}
		horario_fim_funcionamento {'17:00'}
		status_do_orcamento {0}


		trait :orcamento_2016 do

			tipo_de_unidade_administrativa_id {
				Base::TipoDeUnidadeAdministrativa.find_or_create_by!( FactoryBot.attributes_for(:unidade_prefeitura, :orcamento_2016) ).id
			}

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

		trait :orcamento_2017 do

			tipo_de_unidade_administrativa_id {
				Base::TipoDeUnidadeAdministrativa.find_or_create_by!( FactoryBot.attributes_for(:unidade_prefeitura, :orcamento_2017) ).id
			}

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

	end
end
