Sha256: cbbd79f4e96bcec21b7ff18a026c332657776293786bc6d2cf1176460edc58a7

Contents?: true

Size: 1.27 KB

Versions: 149

Compression:

Stored size: 1.27 KB

Contents

require 'rails_helper'

describe PgEngine::ErrorHelper do
  let(:dummy) { Class.new { include PgEngine::ErrorHelper }.new }

  describe '#error_message_for' do
    subject do
      categoria.validate
      dummy.error_message_for(categoria, associations: [:cosas])
    end

    let!(:categoria) { create :categoria_de_cosa }

    before { create_list :cosa, 2, categoria_de_cosa: categoria }

    it do
      expect(subject).to be_nil
    end

    context 'cuando solo tiene errores de presencia' do
      before do
        categoria.nombre = nil
      end

      it do
        expect(subject).to eq :only_presence_errors
      end
    end

    context 'cuando solo tiene otros errores' do
      before do
        categoria.validate_base = true
      end

      it do
        expect(subject).to eq :not_presence_errors
      end
    end

    context 'cuando tiene multiples errores' do
      before do
        categoria.validate_base = true
        categoria.nombre = nil
      end

      it do
        expect(subject).to eq :multiple_error_types
      end
    end

    context 'cuando tiene errores anidados' do
      before do
        categoria.reload
        categoria.cosas[0].nombre = nil
      end

      it do
        expect(subject).to eq :only_presence_errors
      end
    end
  end
end

Version data entries

149 entries across 149 versions & 1 rubygems

Version Path
pg_rails-7.1.6 pg_engine/spec/lib/pg_engine/error_helper_spec.rb
pg_rails-7.1.5 pg_engine/spec/lib/pg_engine/error_helper_spec.rb
pg_rails-7.1.4 pg_engine/spec/lib/pg_engine/error_helper_spec.rb
pg_rails-7.1.3 pg_engine/spec/lib/pg_engine/error_helper_spec.rb
pg_rails-7.1.2 pg_engine/spec/lib/pg_engine/error_helper_spec.rb
pg_rails-7.1.1.pre.6 pg_engine/spec/lib/pg_engine/error_helper_spec.rb
pg_rails-7.1.1.pre.5 pg_engine/spec/lib/pg_engine/error_helper_spec.rb
pg_rails-7.1.1.pre.4 pg_engine/spec/lib/pg_engine/error_helper_spec.rb
pg_rails-7.1.1.pre.3 pg_engine/spec/lib/pg_engine/error_helper_spec.rb
pg_rails-7.1.1.pre.2 pg_engine/spec/lib/pg_engine/error_helper_spec.rb
pg_rails-7.1.1.pre.1 pg_engine/spec/lib/pg_engine/error_helper_spec.rb
pg_rails-7.1.0 pg_engine/spec/lib/pg_engine/error_helper_spec.rb
pg_rails-7.0.8.pre.alpha.112 pg_engine/spec/lib/pg_engine/error_helper_spec.rb
pg_rails-7.0.8.pre.alpha.111 pg_engine/spec/lib/pg_engine/error_helper_spec.rb
pg_rails-7.0.8.pre.alpha.110 pg_engine/spec/lib/pg_engine/error_helper_spec.rb
pg_rails-7.0.8.pre.alpha.109 pg_engine/spec/lib/pg_engine/error_helper_spec.rb
pg_rails-7.0.8.pre.alpha.108 pg_engine/spec/lib/pg_engine/error_helper_spec.rb
pg_rails-7.0.8.pre.alpha.107 pg_engine/spec/lib/pg_engine/error_helper_spec.rb
pg_rails-7.0.8.pre.alpha.106 pg_engine/spec/lib/pg_engine/error_helper_spec.rb
pg_rails-7.0.8.pre.alpha.105 pg_engine/spec/lib/pg_engine/error_helper_spec.rb