GRAILS-1019: Allowing expressions to be used with the 'disabled' attribute for g...
[grails.git] / test / groovy / org / codehaus / groovy / grails / orm / hibernate / CustomCascadeMappingTests.groovy
blobe6f223668fafcc13a08c7ad8ed8315bf70eb3de1
1 /**
2 * @author Graeme Rocher
3 * @since 1.0
4 *
5 * Created: Jan 11, 2008
6 */
7 package org.codehaus.groovy.grails.orm.hibernate
8 class CustomCascadeMappingTests extends AbstractGrailsHibernateTests {
10 protected void onSetUp() {
11 gcl.parseClass '''
12 class CustomCascadeMappingOne {
13 Long id
14 Long version
16 Set foos = new HashSet()
17 Set bars = new HashSet()
18 static hasMany = [foos:CustomCascadeMappingTwo, bars:CustomCascadeMappingTwo]
20 static mapping = {
21 foos cascade:'none', joinTable:'foos'
22 bars cascade:'all', joinTable:'bars'
26 class CustomCascadeMappingTwo {
27 Long id
28 Long version
30 String name
32 '''
36 void testCascadingBehaviour() {
37 def oneClass = ga.getDomainClass("CustomCascadeMappingOne").clazz
38 def twoClass = ga.getDomainClass("CustomCascadeMappingTwo").clazz
40 def one = oneClass.newInstance()
42 shouldFail {
43 one.addToFoos(name:"foo1")
44 .addToFoos(name:"foo2")
45 .save(flush:true)
47 one.foos.clear()
48 one.addToBars(name:"bar1")
49 .addToBars(name:"bar2")
50 .save(flush:true)
53 session.clear()
55 one = oneClass.get(1)
57 assertEquals 0, one.foos.size()
58 assertEquals 2, one.bars.size()