FactoryBot.define do
  factory :gestao_de_estoque_almoxarifado, class: 'GestaoDeEstoque::Almoxarifado' do
    codigo { Faker::Number.number(digits: 3).to_s }
    nome { "Almoxarifado Central" }
    email { "almoxarifadocentral@teste.com" }
    cep { "60833155" }
    logradouro { "Rua Projetada" }
    numero { "123" }
    bairro { "Centro" }
    complemento { "Casa" }
    almoxarifado_principal_id { nil }
    cidade_id { 1 }
    tipo_de_almoxarifado { 0 }

    before(:create) do |almoxarifado|
      unidade_orcamentaria = Loa::UnidadeOrcamentaria.find_or_create_by!(FactoryBot.attributes_for(:loa_hgf, :orcamento_2017))
      almoxarifado.unidades_orcamentarias_do_almoxarifado.build(unidade_orcamentaria_id: unidade_orcamentaria.id)
    end

    before(:create) do |almoxarifado|
      responsavel_do_almoxarifado = GestaoDeEstoque::ResponsavelDoAlmoxarifado.find_or_create_by(FactoryBot.attributes_for(:gestao_de_estoque_responsavel_do_almoxarifado, almoxarifado: almoxarifado))
    end
  end
end
