Help language development. Donate to The Perl Foundation
use v6.d; use lib 'lib'; use ORM::ActiveRecord::Model; use Test; class User is Model { submethod BUILD { self.validate: 'fname', { :presence, length => { min => 4, max => 32 } } } } plan 17; %*ENV<DISABLE-SQL-LOG> = True; my @errors; my User $user; $user = User.create; ok $user.is-invalid; nok $user.is-valid; nok $user.id; @errors = ['at least 4 characters required', 'must be present']; ok @errors.grep: $user.errors.fname[0]; ok @errors.grep: $user.errors.fname[1]; $user = User.create({}); ok $user.is-invalid; nok $user.is-valid; nok $user.id; @errors = ['at least 4 characters required', 'must be present']; ok @errors.grep: $user.errors.fname[0]; ok @errors.grep: $user.errors.fname[1]; $user = User.create({fname => 'x' x 33}); ok $user.is-invalid; nok $user.is-valid; nok $user.id; ok $user.errors.fname[0] eq 'only 32 characters allowed'; $user = User.create({fname => 'Greg'}); ok $user.id != 0; nok $user.is-invalid; ok $user.is-valid; User.destroy-all;