Sha256: 5f56871bde2a8c7bab50b9f8b228cab6b37702661884d6bdbb14eb630efcce00

Contents?: true

Size: 912 Bytes

Versions: 2

Compression:

Stored size: 912 Bytes

Contents

# frozen_string_literal: true

require 'spec_helper'

describe MyClass do
  subject { klass.new(attributes) }
  let(:klass) { MyClass }
  let(:name) { 'name' }
  let(:age) { 20 }
  let(:attributes) do
    {
      name: name,
      surname: 'surname',
      age: age,
      legs: 2
    }
  end

  %i[name surname age legs].each do |field|
    it do
      expect(subject).to respond_to(field)
    end

    it do
      expect(subject).to respond_to("#{field}_valid?")
    end
  end

  it do
    expect(subject).to respond_to(:valid?)
  end

  describe '#valid?' do
    it do
      expect(subject).to be_valid
    end

    context 'when a string attribute is a symbol' do
      let(:name) { :name }
      it do
        expect(subject).not_to be_valid
      end
    end

    context 'when an attribute is nil' do
      let(:age) { nil }
      it do
        expect(subject).not_to be_valid
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
sinclair-1.1.3 spec/integration/readme/my_class_spec.rb
sinclair-1.1.2 spec/integration/readme/my_class_spec.rb