Skip to content

Instantly share code, notes, and snippets.

@leadVisionary
Created March 1, 2012 03:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save leadVisionary/1947047 to your computer and use it in GitHub Desktop.
Save leadVisionary/1947047 to your computer and use it in GitHub Desktop.
What to test?
package com.visionarysoftwaresolutions
class DemoController {
def datastoreService
def index(){
}
def live(){
def data = populate(params.email, params.name, params.phoneNumber)
def zapp = Zapper.findByEmail("zapp@zapapp.com")
def zappCard = ZapCard.findByOwner(zapp)
datastoreService.exchangeCards(data.demoZapper, data.card, zapp)
return [ card : zappCard ]
}
private def populate(email, name, phoneNumber){
def parseData = [
card : ZapCard.findByPhoneNumber(phoneNumber),
demoZapper : Zapper.findByEmail(email)
]
if(!parseData.card && !parseData.demoZapper){
parseData = populateFromRemote()
}
return parseData
}
private def populateFromRemote(){
datastoreService.collectRemoteData()
demoZapper = Zapper.findByEmail(email) ?:
datastoreService.createUser(email)
card = ZapCard.findByPhoneNumber(phoneNumber) ?:
datastoreService.createCard(demoZapper,name, phoneNumber)
return [ card : card , demoZapper : demoZapper ]
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment