spec/lib/field_spec.rb in admin_it-1.0.7 vs spec/lib/field_spec.rb in admin_it-1.0.8
- old
+ new
@@ -1,62 +1,7 @@
require 'spec_helper'
describe AdminIt::Field, type: :context do
- subject { described_class.new(:name, object_class) }
+ subject { described_class.create(:name, object_class) }
- it 'has name reader' do
- expect(subject.name).to eq :name
- end
- it 'converts name to symbol' do
- expect(described_class.new('test', object_class).name).to eq :test
- end
-
- it 'has :unknown type by default' do
- expect(subject.type).to eq :unknown
- end
-
- it 'has DSL type setter' do
- subject.type :string
- expect(subject.type).to eq :string
- end
-
- it 'rejects reads of write-only fields' do
- f = described_class.new(:name, object_class, readable: false)
- expect { f.read(Object.new) }.to raise_error AdminIt::FieldReadError
- end
-
- it 'rejects writes to read-only fields' do
- f = described_class.new(:name, object_class, writable: false)
- expect { f.write(Object.new, 1) }.to raise_error AdminIt::FieldWriteError
- end
-
- it 'calls DSL defined reader for read value' do
- subject.read { |obj| 10 }
- expect(subject.read(Object.new)).to eq 10
- end
-
- it 'calls DSL defined writer for write value' do
- subject.write { |obj, value| obj[:test] = value }
- expect(subject.write({}, 10)).to eq test: 10
- end
-
- it 'doesn\'t implements value reading' do
- expect { subject.send(:read_value, Object.new) }
- .to raise_error NotImplementedError
- end
-
- it 'doesn\'t implements value writing' do
- expect { subject.send(:write_value, Object.new, 'test') }
- .to raise_error NotImplementedError
- end
-
- it 'has #hide' do
- subject.hide
- expect(subject.visible?).to be_false
- end
-
- it 'has #show' do
- subject.show
- expect(subject.visible?).to be_true
- end
end