GRAILS-1019: Allowing expressions to be used with the 'disabled' attribute for g...
[grails.git] / test / groovy / org / codehaus / groovy / grails / orm / hibernate / validation / CascadingValidationToMapTests.groovy
blobd37c725df5dec12b1a125ed790c0a86217ce1fa1
1 package org.codehaus.groovy.grails.orm.hibernate.validation
3 import org.codehaus.groovy.grails.orm.hibernate.AbstractGrailsHibernateTests
5 /**
6 * @author Graeme Rocher
7 * @since 1.0
9 * Created: Jan 17, 2008
11 class CascadingValidationToMapTests extends AbstractGrailsHibernateTests{
13 protected void onSetUp() {
14 gcl.parseClass '''
15 class Vehicle {
16 Long id
17 Long version
18 String name
19 Map doors = new HashMap()
20 static hasMany = [doors:Door]
22 class Door {
23 Long id
24 Long version
25 String make
26 static belongsTo = [Vehicle]
28 '''
32 void testCascadeValidateOnMap() {
33 def vehicleClass = ga.getDomainClass("Vehicle").clazz
34 def doorClass = ga.getDomainClass("Door").clazz
36 def vehicle = vehicleClass.newInstance(name:'One Door')
37 def door = doorClass.newInstance()
38 vehicle.doors['Front'] = door
39 if (vehicle.validate()) {
40 fail("Validating the vehicle did not cascade down to see that the door has no make")
43 assert vehicle.errors
44 assertEquals 1, vehicle.errors.allErrors.size()
46 assert vehicle.errors.getFieldError("make")