FactoryBot.define do
	factory :evento_contabil, class: 'Contabilidade::EventoContabil' do
		nome {"Evento Padrão"}
		classe { :controle }
		orcamento_id {
			Orcamento.find_or_create_by!(FactoryBot.attributes_for(:orcamento_2016)).id;
		}

		# to_create {|evento|
		# 	evento.save
		# 	evento.contas_por_eventos_contabeis.find_or_create_by!(FactoryBot.attributes_for(:conta_patrimonial_evento_padrao, :conta_devedor, :debito))
		# 	evento.contas_por_eventos_contabeis.find_or_create_by!(FactoryBot.attributes_for(:conta_patrimonial_evento_padrao, :conta_credor, :credito))
		# }

		trait :empenhar do
			acao_do_sistema_id {
				Contabilidade::AcaoDoSistema.find_or_create_by!(FactoryBot.attributes_for(:acao_do_sistema, codigo: 1, nome: "Empenhar")).id;
			}
		end

		trait :liquidar do
			acao_do_sistema_id {
				Contabilidade::AcaoDoSistema.find_or_create_by!(FactoryBot.attributes_for(:acao_do_sistema, codigo: 2, nome: "Liquidar")).id;
			}
		end

		trait :pagar do
			acao_do_sistema_id {
				Contabilidade::AcaoDoSistema.find_or_create_by!(FactoryBot.attributes_for(:acao_do_sistema, codigo: 3, nome: "Pagar")).id;
			}
		end

		trait :recolher do
			acao_do_sistema_id {
				Contabilidade::AcaoDoSistema.find_or_create_by!(FactoryBot.attributes_for(:acao_do_sistema, codigo: 4, nome: "Recolher")).id;
			}
		end

		trait :estornar do
			acao_do_sistema_id {
				Contabilidade::AcaoDoSistema.find_or_create_by!(FactoryBot.attributes_for(:acao_do_sistema, codigo: 5, nome: "Estornar")).id;
			}
		end

		trait :anular do
			acao_do_sistema_id {
				Contabilidade::AcaoDoSistema.find_or_create_by!(FactoryBot.attributes_for(:acao_do_sistema, codigo: 6, nome: "Anular Empenho")).id;
			}
		end
	end
end
