Skip to content

Instantly share code, notes, and snippets.

@aalmiray
Created September 24, 2011 15:19
Show Gist options
  • Select an option

  • Save aalmiray/1239445 to your computer and use it in GitHub Desktop.

Select an option

Save aalmiray/1239445 to your computer and use it in GitHub Desktop.
Domain class support in Griffon
@griffon.transform.Domain
class Sample {
String name
String lastName
int num
String toString() {"<$id> $name $lastName [$num]"}
}
------------------------------
class SampleTests extends GriffonUnitTestCase {
private GriffonApplication app
void setUp() {
app = new MockGriffonApplication()
app.builderClass = SampleBuilderConfig
app.initialize()
MemoryGriffonDomainHandler.instance.database.newDataset('sample')
}
void testDynamicMethodInjection() {
Sample.make(name: 'Andres', lastName: 'Almiray', num: 30).save()
assert Sample.findBy('Name', ['Andres']).lastName == 'Almiray'
assert Sample.findBy('NameAndLastName', ['Andres', 'Almiray']).lastName == 'Almiray'
assert !Sample.findBy('NameAndLastName', 'Dierk', 'Koenig')
Sample.make(name: 'Dierk', lastName: 'Koenig', num: 40).save()
assert Sample.findBy('NameAndLastName', 'Dierk', 'Koenig').lastName == 'Koenig'
assert Sample.list().name == ['Andres', 'Dierk']
assert Sample.count() == 2
assert Sample.list(max: 1, offset: 0).name == ['Andres']
assert Sample.list(max: 1, offset: 1).name == ['Dierk']
assert Sample.list(sort: 'num', order: 'asc').num == [30, 40]
assert Sample.list(sort: 'num', order: 'desc').num == [40, 30]
Sample.fetch(2).delete()
assert Sample.count() == 1
assert Sample.list().name == ['Andres']
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment