Skip to content
Mock Grails Criteria Unit Test
Groovy Batchfile
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.settings
grails-app
src/groovy/plastic/criteria
test
wrapper
.classpath
.gitignore
.project
.travis.yml
PlasticCriteriaGrailsPlugin.groovy
README.md
application.properties
grailsw
grailsw.bat

README.md

PlasticCriteria

From FakePlasticCriteria renamed to just PlasticCriteria.

The project is licensed under the WTFPL. http://sam.zoy.org/wtfpl/COPYING

Installation

For grails 1.3.x

grails install-plugin plastic-criteria

Grails 2.x edit your /grails-app/conf/BuildConfig.groovy

    // (...)
    plugins {
        // (...) another plugins

        // add this line
        test ":plastic-criteria:1.2"
    }
    // (...)

Sample usage

package plastic.test

import grails.test.mixin.*

// import mockCriteria() static method
import static plastic.criteria.PlasticCriteria.*

@TestFor(Product)
class ProductTests {

    void testSomething() {
        new Product(name: 'Foo', value: 10).save()
        new Product(name: 'Foo', value: 20).save()
        new Product(name: 'Bar', value: 200).save()
        new Product(name: 'Bar', value: 100).save()

        // replace default criteria mock
        mockCriteria([Product])

        def results = Product.withCriteria{
            projections{
                groupProperty('name') // now you have groupProperty
                sum('value')
            }
        }

        assert [['Foo', 30 ], ['Bar', 300]] == results
    }
}

just

import static plastic.criteria.PlasticCriteria.*;

and

mockCriteria([Product])

Full docs at:

https://github.com/fabiooshiro/plastic-criteria/blob/master/src/groovy/plastic/criteria/CriteriaDocTests.groovy

Committers

Sr. Oshiro, Max Mustang, Danilo Tuler

Special thx

frozenspider, srybakov

Something went wrong with that request. Please try again.