require 'rails_helper'

RSpec.describe Contabilidade::ParcelamentoDoRpps, type: :model do
  cria_configuracao_default

	before :all do
		DatabaseCleaner.strategy = :transaction
		DatabaseCleaner.start

		FactoryBot.build(:parcelamento_do_rpps)
	end

	after :all do
		DatabaseCleaner.clean
	end

	describe 'associations' do
		it { is_expected.to belong_to(:orcamento).class_name('Orcamento') }
    it { is_expected.to belong_to(:decreto_de_acordo).class_name('Contabilidade::Decreto') }
    it { is_expected.to belong_to(:decreto_de_lei).class_name('Contabilidade::Decreto') }
    it { is_expected.to have_many(:acompanhamentos_de_parcelamento_do_rpps).class_name('Contabilidade::AcompanhamentoDeParcelamentoDoRpps').dependent(:restrict_with_exception)  }
	end

	describe 'validations' do
		[:orcamento_id, :decreto_de_lei_id, :decreto_de_acordo_id, :competencias_parceladas,:data_do_vencimento_da_primeira_parcela,
		 :quantidade_de_parcelas, :valor_total_do_parcelamento, :valor_total_do_parcelamento,:valor_da_parcela_inicial].each do |atributo|
			it { is_expected.to validate_presence_of atributo }
    end
  end
end
