1 package org
.codehaus
.groovy
.grails
.orm
.hibernate
3 import org
.hibernate
.Hibernate
6 * @author Graeme Rocher
9 * Created: May 28, 2008
11 class EagerFindByQueryTests
extends AbstractGrailsHibernateTests
{
13 protected void onSetUp() {
15 class EagerFindByQueryBookmark {
20 static hasMany = [tags:EagerFindByQueryTag]
22 class EagerFindByQueryTag {
31 void testDefaultLazyFetchingGet() {
33 def bookmarkClass
= ga
.getDomainClass("EagerFindByQueryBookmark").clazz
34 def tagClass
= ga
.getDomainClass("EagerFindByQueryTag").clazz
36 assert bookmarkClass
.newInstance(url
:"http://grails.org")
37 .addToTags(name
:"groovy")
38 .addToTags(name
:"web")
39 .addToTags(name
:"development")
44 def bookmark
= bookmarkClass
.get(1)
46 assertFalse Hibernate
.isInitialized(bookmark
.tags
)
49 void testDefaultLazyFetchingFindBy() {
51 def bookmarkClass
= ga
.getDomainClass("EagerFindByQueryBookmark").clazz
52 def tagClass
= ga
.getDomainClass("EagerFindByQueryTag").clazz
54 assert bookmarkClass
.newInstance(url
:"http://grails.org")
55 .addToTags(name
:"groovy")
56 .addToTags(name
:"web")
57 .addToTags(name
:"development")
62 def bookmark
= bookmarkClass
.findByUrl("http://grails.org")
64 assertFalse Hibernate
.isInitialized(bookmark
.tags
)
68 void testEagerFetchingFindBy() {
69 def bookmarkClass
= ga
.getDomainClass("EagerFindByQueryBookmark").clazz
70 def tagClass
= ga
.getDomainClass("EagerFindByQueryTag").clazz
72 assert bookmarkClass
.newInstance(url
:"http://grails.org")
73 .addToTags(name
:"groovy")
74 .addToTags(name
:"web")
75 .addToTags(name
:"development")
80 def bookmark
= bookmarkClass
.findByUrl("http://grails.org",[fetch
:[tags
:'eager']])
82 assertTrue Hibernate
.isInitialized(bookmark
.tags
)
85 void testEagerFetchingFindAllBy() {
86 def bookmarkClass
= ga
.getDomainClass("EagerFindByQueryBookmark").clazz
87 def tagClass
= ga
.getDomainClass("EagerFindByQueryTag").clazz
89 assert bookmarkClass
.newInstance(url
:"http://grails.org")
90 .addToTags(name
:"groovy")
91 .addToTags(name
:"web")
92 .addToTags(name
:"development")
97 def bookmarks
= bookmarkClass
.findAllByUrl("http://grails.org",[fetch
:[tags
:'eager']])
98 def bookmark
= bookmarks
[0]
100 assertTrue Hibernate
.isInitialized(bookmark
.tags
)