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
.classpath
.gitignore
.project
PlasticCriteriaGrailsPlugin.groovy
README.md
application.properties

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.0"
    }
    // (...)

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])

Committers

Sr. Oshiro, Max Mustang, Danilo Tuler

Something went wrong with that request. Please try again.