require 'rails_helper'

RSpec.describe Base::ContaBancariaPorPagamento, type: :model do
  it{ is_expected.to belong_to(:pagamento).with_foreign_key(:pagamento_id).class_name('Contabilidade::Pagamento') }
  it{ is_expected.to belong_to(:conta_bancaria).with_foreign_key(:conta_bancaria_id).class_name('Base::ContaBancaria') }

  it{ is_expected.to validate_presence_of :conta_bancaria_id }

  it{ is_expected.to have_many(:pagamentos_do_lote_bancario) }

  describe "esta_em_um_lote?" do
    context 'quando não existem lotes' do
      it 'return false' do
        conta_bancaria_por_pagamento = FactoryBot.create(:conta_bancaria_por_pagamento)
        expect(conta_bancaria_por_pagamento.esta_em_um_lote?).to eq false
      end
    end

    context 'quando existem lotes' do
      it 'return false' do
        conta_bancaria_por_pagamento = FactoryBot.create(:conta_bancaria_por_pagamento)
        FactoryBot.create(:contabilidade_pagamento_do_lote_bancario, conta_bancaria_por_pagamento: conta_bancaria_por_pagamento)
        expect(conta_bancaria_por_pagamento.esta_em_um_lote?).to eq true
      end
    end
  end
end
