Como enganar o objeto de comando que está dentro do controlador
Eu tenho uma classe de controlador, dentro da qual eu tenho um objeto de comando. Eu tenho um método find () que usa esse objeto de comando da seguinte maneira:
class itemController{
//command object
class SearchCommand{
String email
static constraints={
email blank:false,email:true
}
def find = {SearchCommand sc ->
if(!sc.hasErrors()){
----- do something---
}
}
Agora, estou escrevendo um caso de teste para testar o método de localização no controlador. Mas o caso de teste falha em
if(!sc.hasErrors())
como sc ainda é 'nulo'. Não tenho certeza de como lidar com esse objeto de comando de classe interna no caso de teste. O caso de teste que escrevi até agora é:
class itemControllerTests extends ControllerUnitTestCase {
void testFind(){
def model = controller.find()
assertNotNull(model)
}
}
Como faço para lidar com o objeto de comando de classe interna no caso de teste. Eu zombo disso? Eu tentei usar mockCommandObject (?), Mas não tenho certeza como devo passar o objeto de comando de classe interna para isso?