@@ -256,6 +256,68 @@ class Publication {
256256 assertNotNull publicationClass. publishedAfter(now - 5 ). publicationsWithBookInTitle(). get(newPaperBackWithBookInTitleId)
257257 }
258258
259+ void testPassingParamsAndAdditionalCriteria () {
260+ def publicationClass = ga. getDomainClass(" Publication" ). clazz
261+ def now = new Date ()
262+
263+ 6. times { cnt ->
264+ assert publicationClass. newInstance(title : " Some Old Book #${ cnt} " ,
265+ datePublished : now - 1000 , paperback : true ). save(failOnError : true ). id
266+ assert publicationClass. newInstance(title : " Some New Book #${ cnt} " ,
267+ datePublished : now, paperback : true ). save(failOnError : true ). id
268+ }
269+
270+ def results = publicationClass. publishedAfter(now - 5 ) {
271+ eq ' paperback' , true
272+ }
273+ assertEquals 6 , results?. size()
274+
275+ results = publicationClass. publishedAfter(now - 5 , [max : 2 , offset : 1 ]) {
276+ eq ' paperback' , true
277+ }
278+ assertEquals 2 , results?. size()
279+
280+ results = publicationClass. publishedBetween(now - 5 , now + 1 ) {
281+ eq ' paperback' , true
282+ }
283+ assertEquals 6 , results?. size()
284+
285+ results = publicationClass. publishedBetween(now - 5 , now + 1 , [max : 2 , offset : 1 ]) {
286+ eq ' paperback' , true
287+ }
288+ assertEquals 2 , results?. size()
289+
290+ results = publicationClass. publishedAfter(now - 1005 ) {
291+ eq ' paperback' , true
292+ }
293+ assertEquals 12 , results?. size()
294+
295+ results = publicationClass. publishedAfter(now - 5 ) {
296+ eq ' paperback' , false
297+ }
298+ assertEquals 0 , results?. size()
299+
300+ results = publicationClass. publishedAfter(now - 5 , [max : 2 , offset : 1 ]) {
301+ eq ' paperback' , false
302+ }
303+ assertEquals 0 , results?. size()
304+
305+ results = publicationClass. publishedBetween(now - 5 , now + 1 ) {
306+ eq ' paperback' , false
307+ }
308+ assertEquals 0 , results?. size()
309+
310+ results = publicationClass. publishedBetween(now - 5 , now + 1 , [max : 2 , offset : 1 ]) {
311+ eq ' paperback' , false
312+ }
313+ assertEquals 0 , results?. size()
314+
315+ results = publicationClass. publishedAfter(now - 1005 ) {
316+ eq ' paperback' , false
317+ }
318+ assertEquals 0 , results?. size()
319+ }
320+
259321 void testChainingNamedQueries () {
260322 def publicationClass = ga. getDomainClass(" Publication" ). clazz
261323
0 commit comments