Sha256: fb96939c54229b65802cedd97b908c1cf02c5bf7cd10ad3734a25bf41ad46c04

Contents?: true

Size: 858 Bytes

Versions: 1

Compression:

Stored size: 858 Bytes

Contents

require 'spec_helper'

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

  it { is_expected.to validate_presence_of(:acronym) }
  it { is_expected.to validate_presence_of(:name) }
  it { is_expected.to validate_presence_of(:precision) }

  it { is_expected.to validate_length_of(:acronym).is_at_most(4) }

  it 'should allow values between 2 and 7 for precision' do
    expect(subject).to allow_value(2).for(:precision)
    expect(subject).to allow_value(5).for(:precision)
    expect(subject).to allow_value(7).for(:precision)
  end

  it 'should not allow values outside 2 and 7 for precision' do
    expect(subject).to_not allow_value(1).for(:precision)
    expect(subject).to_not allow_value(9).for(:precision)
  end

  it 'cast to string using name' do
    subject.name = 'Real'

    expect(subject.to_s).to eq 'Real'
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

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