Sha256: ad87926d56834c05792fe4f66a194de8656a11ea5722c9a6b852d698fc6a9d3e

Contents?: true

Size: 707 Bytes

Versions: 4

Compression:

Stored size: 707 Bytes

Contents

require 'spec_helper'
require 'volt/models'

class ExampleModelWithField < Volt::Model
  field :name
  field :value, Numeric
end

describe "field helpers" do
  it 'should allow a user to setup a field that can be written to and read' do
    model = ExampleModelWithField.new

    expect(model.name).to eq(nil)
    model.name = 'jimmy'
    expect(model.name).to eq('jimmy')

    expect(model.value).to eq(nil)
    model.value = '20.5'

    # Should be cast to float
    expect(model.value).to eq(20.5)
  end

  it 'should raise an error when an invalid cast type is provided' do
    expect do
      ExampleModelWithField.field :awesome, Array
    end.to raise_error(FieldHelpers::InvalidFieldClass)
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
volt-0.8.27.beta2 spec/models/field_helpers_spec.rb
volt-0.8.27.beta1 spec/models/field_helpers_spec.rb
volt-0.8.26.beta1 spec/models/field_helpers_spec.rb
volt-0.8.26 spec/models/field_helpers_spec.rb