Tengo problemas para probar el enrutador en mi aplicación, que se basa en el enrutador de interfaz de usuario angular. Lo que quiero probar es si las transiciones de estado cambian la URL de manera apropiada (habrá pruebas más complicadas más adelante, pero aquí es donde estoy comenzando).
Aquí está la parte relevante de mi código de aplicación:
angular.module('scrapbooks')
.config( function($stateProvider){
$stateProvider.state('splash', {
url: "/splash/",
templateUrl: "/app/splash/splash.tpl.html",
controller: "SplashCtrl"
})
})
Y el código de prueba:
it("should change to the splash state", function(){
inject(function($state, $rootScope){
$rootScope.$apply(function(){
$state.go("splash");
});
expect($state.current.name).to.equal("splash");
})
})
Preguntas similares sobre Stackoverflow (y el código oficial de prueba del enrutador ui) sugieren que envolver la llamada $ state.go en $ apply debería ser suficiente. Pero lo he hecho y el estado todavía no se actualiza. $ state.current.name permanece vacío.