GRAILS-1019: Allowing expressions to be used with the 'disabled' attribute for g...
[grails.git] / test / groovy / org / codehaus / groovy / grails / orm / hibernate / ListReorderingTests.groovy
blob1f4c8cdad62bd80aadc8205e29ea07f22ba75d17
1 /**
2 * @author Graeme Rocher
3 * @since 1.0
4 *
5 * Created: Nov 14, 2007
6 */
7 package org.codehaus.groovy.grails.orm.hibernate
8 class ListReorderingTests extends AbstractGrailsHibernateTests {
10 protected void onSetUp() {
11 gcl.parseClass('''
12 class Bar {
14 Long id
15 Long version
16 String name
17 Foo foo
18 static belongsTo = Foo
20 class Foo {
21 Long id
22 Long version
23 String name
25 List bars
26 static hasMany = [bars : Bar]
29 ''')
34 void testReorderList() {
35 def fooClass = ga.getDomainClass("Foo").clazz
36 def foo = fooClass.newInstance(name:"foo")
37 .addToBars(name:"bar1")
38 .addToBars(name:"bar2")
40 assertEquals foo,foo.bars[0].foo
41 assertEquals foo,foo.bars[1].foo
44 foo.save()
46 session.flush()
47 session.clear()
49 foo = fooClass.get(1)
52 assert foo
53 assertEquals 2, foo.bars.size()
54 assertEquals "bar1", foo.bars[0].name
55 assertEquals "bar2", foo.bars[1].name
57 def tmp = foo.bars[0]
58 foo.bars[0] = foo.bars[1]
59 foo.bars[1] = tmp
61 session.flush()
62 session.clear()
64 foo = fooClass.get(1)
65 assertEquals 2, foo.bars.size()
67 assertEquals "bar2", foo.bars[0].name
68 assertEquals "bar1", foo.bars[1].name