我在配置对象中有这两个布尔变量,我将它传递给角度应用程序的常量。
在页面结算时检查这些布尔值。如果两者都为真,它将保留在页面中,如果其中一个为真,则会将用户弹回指定的页面。
请参阅以下代码
angular
.module('ecardGeneratorPrototype')
.constant('config',
{
"enable-file-upload": true,
"enable-webcam": true
然后我在解析函数中检查这些:
.when('/home', {
templateUrl: 'app/home/home.html',
controller: 'HomeController',
controllerAs: 'home',
resolve : {
choice: ['$route', '$window', 'config', function ($route, $window, config) {
if ( config["enable-file-upload"] && config["enable-webcam"] ){
//return
return;
}
else
{
if ( config["enable-file-upload"] ){
//go to the file upload page
//$log( "display the file upload page" );
$window.location.href = '#/file-upload';
}
else if ( config["enable-webcam"] ){
//$log( "display the webcam page" );
$window.location.href = '#/webcam';
}
}
return;
}]
}
})
我的问题是我可以覆盖这些常量,以便我可以在量角器测试中测试页面是否正确重定向?
答案 0 :(得分:0)
也许你可以模拟你的模块并在beforeEach函数中提供你想要的常量。
类似的东西:
beforeEach(angular.mock.module("ecardGeneratorPrototype", function ($provide) {
$provide.constant("enable-file-upload", false);
}));