Fala Pessoal,
Estou tentando fazer um teste integrado para o um método de um controle.
@Post("/Administrador")
public void login(final UserWeb user) throws Exception
{
User loaded = null;
this.validator.validate(user);
this.validator.onErrorUsePageOf(this).show();
if(!this.validator.hasErrors())
{
loaded = users.load(user.getName(), user.getPassword());
if(loaded == null){
this.validator.add(new ValidationMessage("Usuário ou senha inválidos.", "user.invalid"));
}
}
this.validator.onErrorUsePageOf(this).show();
userWeb.login(loaded);
result.redirectTo(HomeController.class).show();
}
O teste que eu fiz foi:
@Test
public void test() throws Exception {
//Assert
MockResult result = new MockResult();
MockValidator validator = new MockValidator();
UserWeb userWeb = new UserWeb("administrador", "123456");
SessionFactoryBuilder factory = new SessionFactoryBuilder();
factory.open();
SessionBuilder sessionBuilder = new SessionBuilder(factory.getInstance());
sessionBuilder.open();
Session session = sessionBuilder.getInstance();
IUsers users = new Users(session);
LoginController login = new LoginController(result, validator, userWeb, users);
//Act
login.login(userWeb);
//Assert
Mockito.verify(result).redirectTo(HomeController.class).show();
}
Neste teste não consigo validar o result.redirectTo.
Como faço para fazer esta validação?
Obrigado pela ajuda,
Rodrigo