Sha256: df35563cd1dd885835e598f9a7ffdee663401ac3fb45632fdd86235c96695ec9

Contents?: true

Size: 1.21 KB

Versions: 30

Compression:

Stored size: 1.21 KB

Contents

RSpec.describe Metasploit::Model::Invalid do
  subject(:invalid) do
    described_class.new(model)
  end

  let(:model) do
    model_class.new
  end

  let(:model_class) do
    Class.new do
      include ActiveModel::Validations
    end
  end

  it { is_expected.to be_a Metasploit::Model::Error }

  it 'should use ActiveModel::Errors#full_messages' do
    expect(model.errors).to receive(:full_messages).and_call_original

    described_class.new(model)
  end

  it 'should translate errors using metasploit.model.invalid' do
    expect(I18n).to receive(:translate).with(
        'metasploit.model.errors.messages.model_invalid',
        hash_including(
            :errors => anything
        )
    ).and_call_original

    described_class.new(model)
  end

  it 'should set translated errors as message' do
    message = "translated message"
    allow(I18n).to receive(:translate).with('metasploit.model.errors.messages.model_invalid', anything).and_return(message)
    instance = described_class.new(model)

    expect(instance.message).to eq(message)
  end

  context '#model' do
    subject(:error_model) do
      invalid.model
    end

    it 'should be the passed in model' do
      expect(error_model).to eq(model)
    end
  end
end

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
metasploit-model-5.0.2 spec/lib/metasploit/model/invalid_spec.rb
metasploit-model-5.0.1 spec/lib/metasploit/model/invalid_spec.rb
metasploit-model-5.0.0 spec/lib/metasploit/model/invalid_spec.rb
metasploit-model-4.0.6 spec/lib/metasploit/model/invalid_spec.rb
metasploit-model-4.0.5 spec/lib/metasploit/model/invalid_spec.rb
metasploit-model-4.0.4 spec/lib/metasploit/model/invalid_spec.rb
metasploit-model-4.0.3 spec/lib/metasploit/model/invalid_spec.rb
metasploit-model-4.0.2 spec/lib/metasploit/model/invalid_spec.rb
metasploit-model-4.0.1 spec/lib/metasploit/model/invalid_spec.rb
metasploit-model-4.0.0 spec/lib/metasploit/model/invalid_spec.rb
metasploit-model-3.1.4 spec/lib/metasploit/model/invalid_spec.rb
metasploit-model-3.1.3 spec/lib/metasploit/model/invalid_spec.rb
metasploit-model-3.1.2 spec/lib/metasploit/model/invalid_spec.rb
metasploit-model-3.1.1 spec/lib/metasploit/model/invalid_spec.rb
metasploit-model-3.1.0 spec/lib/metasploit/model/invalid_spec.rb
metasploit-model-3.0.0 spec/lib/metasploit/model/invalid_spec.rb
metasploit-model-2.0.4 spec/lib/metasploit/model/invalid_spec.rb
metasploit-model-2.0.3 spec/lib/metasploit/model/invalid_spec.rb
metasploit-model-2.0.2 spec/lib/metasploit/model/invalid_spec.rb
metasploit-model-2.0.1 spec/lib/metasploit/model/invalid_spec.rb