GRAILS-1019: Allowing expressions to be used with the 'disabled' attribute for g...
[grails.git] / test / groovy / org / codehaus / groovy / grails / orm / hibernate / ListMappingTests.groovy
blobcbf49d7888e7c9ccbca61a693bfd307b96b6b71d
1 package org.codehaus.groovy.grails.orm.hibernate;
3 import org.codehaus.groovy.grails.commons.*
5 class ListMappingTests extends AbstractGrailsHibernateTests {
7 void testAddPersistentPogoToList() {
8 def authorClass = ga.getDomainClass("Author")
9 def bookClass = ga.getDomainClass("Book")
10 def b = bookClass.newInstance()
11 def a = authorClass.newInstance()
13 a.name = "Stephen King"
14 a.save()
16 b.addToAuthors(a)
17 b.save()
18 session.flush()
19 session.clear()
21 b = bookClass.clazz.get(1)
23 assertEquals "Stephen King",b.authors[0].name
26 void testListMapping() {
27 def authorClass = ga.getDomainClass("Author")
28 def bookClass = ga.getDomainClass("Book")
29 def a1 = authorClass.newInstance()
30 def a2 = authorClass.newInstance()
31 def a3 = authorClass.newInstance()
33 a1.name = "Stephen King"
34 a2.name = "James Patterson"
35 a3.name = "Joe Bloggs"
37 def book = bookClass.newInstance()
39 book.addToAuthors(a1)
40 .addToAuthors(a2)
41 .addToAuthors(a3)
42 .save(true)
44 session.flush()
45 println "Flushed session"
46 session.clear()
48 def ids = [a1.id, a2.id, a2.id]
50 book = null
52 book = bookClass.clazz.get(1)
54 assertEquals 3, book.authors.size()
56 assertEquals a1.id, book.authors[0].id
57 assertEquals a2.id, book.authors[1].id
58 assertEquals a3.id, book.authors[2].id
61 void onSetUp() {
62 this.gcl.parseClass('''
63 class Book {
64 Long id
65 Long version
66 List authors
67 def hasMany = [authors:Author]
70 class Author {
71 Long id
72 Long version
73 String name
74 Book book
76 class ApplicationDataSource {
77 boolean pooling = true
78 boolean logSql = true
79 String dbCreate = "create-drop" // one of 'create', 'create-drop','update'
80 String url = "jdbc:hsqldb:mem:testDB"
81 String driverClassName = "org.hsqldb.jdbcDriver"
82 String username = "sa"
83 String password = ""
85 '''
89 void onTearDown() {