Sha256: 959d39fe0e34d7e3c3e2a545886a43cc2fa63532603577f3edce931066d2f83e
Contents?: true
Size: 1.84 KB
Versions: 2
Compression:
Stored size: 1.84 KB
Contents
require 'spec_helper' describe Granite::Form::Model::Attributes::Reflections::Attribute do def reflection(options = {}) described_class.new(:field, options) end describe '.build' do before { stub_class(:target) } specify { expect(described_class.build(Class.new, Target, :field, String).type).to eq(String) } specify { expect(described_class.build(Class.new, Target, :field) {}.defaultizer).to be_a(Proc) } specify do described_class.build(Class.new, Target, :field) expect(Target).to be_method_defined(:field) expect(Target).to be_method_defined(:field=) expect(Target).to be_method_defined(:field?) expect(Target).to be_method_defined(:field_before_type_cast) expect(Target).to be_method_defined(:field_default) expect(Target).to be_method_defined(:field_values) end end describe '#generate_methods' do before { stub_class(:target) } specify do described_class.generate_methods(:field_alias, Target) expect(Target).to be_method_defined(:field_alias) expect(Target).to be_method_defined(:field_alias=) expect(Target).to be_method_defined(:field_alias?) expect(Target).to be_method_defined(:field_alias_before_type_cast) expect(Target).to be_method_defined(:field_alias_default) expect(Target).to be_method_defined(:field_alias_values) end end describe '#defaultizer' do specify { expect(reflection.defaultizer).to be_nil } specify { expect(reflection(default: 42).defaultizer).to eq(42) } specify { expect(reflection(default: -> {}).defaultizer).to be_a Proc } end describe '#normalizers' do specify { expect(reflection.normalizers).to eq([]) } specify { expect(reflection(normalizer: -> {}).normalizers).to be_a Array } specify { expect(reflection(normalizer: -> {}).normalizers.first).to be_a Proc } end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
granite-form-0.6.1 | spec/granite/form/model/attributes/reflections/attribute_spec.rb |
granite-form-0.6.0 | spec/granite/form/model/attributes/reflections/attribute_spec.rb |