Sha256: d59e4d6a408419f50c124a6e3d3baeea800b53907d59294c164d2696690b3253
Contents?: true
Size: 1.57 KB
Versions: 32
Compression:
Stored size: 1.57 KB
Contents
require 'volt/models' class TestModel < Model validate :_name, length: 4 validate :_description, length: {message: 'needs to be longer', length: 50} validate :_username, presence: true end describe Model do it "should validate the name" do expect(TestModel.new.errors).to eq( { :_name => ["must be at least 4 characters"], :_description => ["needs to be longer"], :_username => ["must be specified"] } ) end it "should show marked validations once they are marked" do model = TestModel.new expect(model.marked_errors).to eq({}) model.mark_field!(:_name) expect(model.marked_errors).to eq( { :_name => ["must be at least 4 characters"] } ) end it "should show all fields in marked errors once saved" do model = TestModel.new expect(model.marked_errors).to eq({}) model.save! expect(model.marked_errors.keys).to eq([:_name, :_description, :_username]) end describe "length" do it "should allow custom errors on length" do model = TestModel.new expect(model.marked_errors).to eq({}) model.mark_field!(:_description) expect(model.marked_errors).to eq( { :_description => ["needs to be longer"] } ) end end describe "presence" do it "should validate presence" do model = TestModel.new expect(model.marked_errors).to eq({}) model.mark_field!(:_username) expect(model.marked_errors).to eq( { :_username => ["must be specified"] } ) end end end
Version data entries
32 entries across 32 versions & 1 rubygems