2016-02-18 14 views
5

Mam te dwie zmienne binarne w obiekcie konfiguracyjnym, które przekazuję do stałej aplikacji kątowej.Pomijanie stałych w teście kątomierza

Te booleans są sprawdzane w punkcie, w którym strona się rozwiązuje. Jeśli oba są prawdziwe, pozostaje na stronie i jeśli jedna z nich jest prawdziwa, odrzuca użytkownika do określonej strony.

Zobacz poniższy kod

angular 
.module('ecardGeneratorPrototype') 
.constant('config', 
{ 
    "enable-file-upload": true, 
    "enable-webcam": true 

I następnie sprawdzić je w funkcji resolve:

.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; 
     }] 
    } 
    }) 

Moje pytanie jest mogę zastąpić te stałe, więc mogę przetestować stron są przekierowywane poprawnie moje testy kątomierza?

Odpowiedz

0

Być może możesz sfałszować swój moduł i zapewnić stałą wartość w funkcji beforeEach.

Coś takiego:

beforeEach(angular.mock.module("ecardGeneratorPrototype", function ($provide) { 
 
    $provide.constant("enable-file-upload", false); 
 
}));