unit testing - Mocking grails method that uses a findAll, Generating a MissingMethodException -


def retrieveeatenfood(string token, string addeddate) {           def consumer = consumer.findbymobiletoken(token)     if(consumer != null) {            def eflist = []          def list = consumer.findall("from eatenfood ef date(ef.dateadded) =  date(:da)",[da:sdf_long.parse(addeddate)])         list.each{             def eatenlist = [:]             eatenlist.put("foodtype",it.food.name)             eatenlist.put("sequencenumber",it.sequencenumber)             eatenlist.put("eatendate", it.eatendate)             eatenlist.put("dateadded",it.dateadded)             eflist.add(eatenlist);         }          return eflist;       } } 

trying mock above method, findall keep generating exception.

this issue works! need write test , keep getting exception. can me please!

groovy.lang.missingmethodexception: no signature of method: carrotdev.consumer.findall() applicable argument types: (java.lang.string, java.util.linkedhashmap) values: [from eatenfood ef date(ef.dateadded) =  date(:da), [da:sun feb 13 01:51:47 ast 2011]] possible solutions: findall(groovy.lang.closure), find(groovy.lang.closure)     @ carrotdev.consumerservice.retrieveeatenfood(consumerservice.groovy:146)     @ carrotdev.consumerservice$retrieveeatenfood.call(unknown source)     @ carrotdev.consumerservicetests.testeatenfoodretrievedsucessfully(consumerservicetests.groovy:359) 

i move query consumer domain class descriptive name, e.g.

static list<eatenfood> findalleatenbydate(string date) {    consumer.findall(       "from eatenfood ef date(ef.dateadded) = date(:da)",       [da:sdf_long.parse(addeddate)]) } 

then call simply

def list = consumer.findalleatenbydate(addeddate) 

and can mock with

def foods = [new eatenfood(...), new eatenfood(...), ...] consumer.metaclass.static.findalleatenbydate = { string date - > foods } 

be sure test finder method in consumer integration test.


Comments

Popular posts from this blog

apache - Add omitted ? to URLs -

redirect - bbPress Forum - rewrite to wwww.mysite prohibits login -

php - How can I stop spam on my custom forum/blog? -