require 'rails_helper'

RSpec.describe Patrimonio::RecebimentoDeBem, type: :model do
  it{ is_expected.to belong_to(:orcamento).class_name("Orcamento") }
  it{ is_expected.to belong_to(:unidade_orcamentaria).class_name("Loa::UnidadeOrcamentaria") }
  it{ is_expected.to belong_to(:fornecedor).class_name("Base::Pessoa").with_foreign_key(:fornecedor_id) }
  it{ is_expected.to belong_to(:doador).class_name("Base::Pessoa").with_foreign_key(:doador_id) }
  it{ is_expected.to belong_to(:recebimento_de_material).class_name("GestaoDeEstoque::RecebimentoDeMaterial") }
  it{ is_expected.to belong_to(:sub_elemento_de_despesa).class_name("Contabilidade::SubElementoDeDespesa") }

  it{ is_expected.to have_many(:itens_dos_recebimentos_de_bens).class_name("Patrimonio::ItemDoRecebimentoDeBem") }

  it { is_expected.to accept_nested_attributes_for(:itens_dos_recebimentos_de_bens).allow_destroy(true) }

  it { is_expected.to validate_presence_of(:data_do_recebimento) }
  it { is_expected.to validate_presence_of(:status) }
  it { is_expected.to validate_presence_of(:classificacao) }
  it { is_expected.to validate_presence_of(:sub_elemento_de_despesa_id) }
  it { is_expected.to validate_presence_of(:orcamento_id) }
  it { is_expected.to validate_presence_of(:unidade_orcamentaria_id) }
end
