Sha256: a2c281acefefec8d619296baf54900fbff191e51702f791da03101a0626dffa4

Contents?: true

Size: 1.15 KB

Versions: 1

Compression:

Stored size: 1.15 KB

Contents

require 'spec_helper'

describe Prefecture do
  it { is_expected.to be_a_kind_of Unico::Prefecture }

  it { is_expected.to have_one :address }

  it { is_expected.to validate_presence_of :name }
  it { is_expected.to validate_presence_of :mayor_name }

  it { is_expected.to allow_value('gabriel.sobrinho@gmail.com').for(:email) }
  it { is_expected.not_to allow_value('missing.host').for(:email) }

  it 'return name when converted to string' do
    subject.name = 'Apucarana'

    expect(subject.name).to eq subject.to_s
  end

  describe '#state_delegate' do
    let :state do
      double(:state)
    end

    it 'delegate state to address' do
      allow(subject).to receive(:address).and_return double(:address, state: state)

      expect(subject.state).to eq state
    end
  end

  describe '#cache_state_acronym' do
    let :state do
      double(:state)
    end

    it 'caches state_acronym' do
      allow(subject).to receive(:address).and_return double(:address, state: state)

      allow(state).to receive(:acronym).and_return 'MG'

      subject.valid?

      expect(subject.state).to eq state
      expect(subject.state_acronym).to eq 'MG'
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
unico-training-7.8.0 spec/models/prefecture_spec.rb