I want to test a Grails controller which calls a service. I'd like to mock the service. The Service has a method:
JobIF JobServiceIF.getJob(int)
and JobIF has a method:
String JobIF.getTitle()
Here's my controller
def workActivities = { JobIF job = jobService.getJob(params.id) [career:job] }
I understand that I need to mock the service and the job class (there are concrete implementations for both) but I'm struggling to get my head around the Groovy mocking object syntax. How do I mock a job and set the title to something, say "Architect" and then test the code?
So far I have:
void testWorkActivities() { def controller = new CareersController() ... // Mocking stuff I don't know how to do controller.params.id = 12 def model = controller.workActivities() assertEquals "Architect", model["career"].getTitle() }