FactoryBot.define do
  factory :gestao_de_estoque_recebimento_de_material, class: 'GestaoDeEstoque::RecebimentoDeMaterial' do
    codigo { Faker::Number.number(digits: 3).to_s }
    data_do_recebimento { '2017-12-30' }
    tipo_de_material { :consumo }
    tipo_de_entrada { :definitivo }
    orcamento_id { Orcamento.find_or_create_by!(FactoryBot.attributes_for(:orcamento_2017)).id }
    ordem_de_compra_id { Licitacao::OrdemDeCompra.find_or_create_by!(FactoryBot.attributes_for(:licitacao_ordem_de_compra)).id }
    observacao { "Observações do recebimento, não é obrigatória." }
    tipo_de_recebimento { :recebimento_total }
    numero_da_nota { Faker::Number.number(digits: 15).to_s }
    serie { Faker::Number.number(digits: 5).to_s }
    data_de_emissao { '2017-02-10' }
    unidade_orcamentaria_id { Loa::UnidadeOrcamentaria.find_or_create_by!(FactoryBot.attributes_for(:loa_hgf, :orcamento_2017)).id }
    almoxarifado_id { FactoryBot.create(:gestao_de_estoque_almoxarifado).id }
    numero_do_empenho { nil }
    exercicio_do_empenho { nil }
    modalidade_de_licitacao { :tomada_de_precos }
    numero_do_processo { nil }
    numero_do_contrato { nil }
    numero_da_ordem_de_compra { nil }
    avulso { false }
    classificacao { nil }
    sub_elemento_de_despesa_id { nil }
  end
end
