2016-02-18 13 views
5

Ich habe diese zwei booleschen Variablen in einem Konfigurationsobjekt, die ich an eine Konstante der Winkelanwendung übergeben.Überschreiben von Konstanten im Winkelmesser-Test

Diese booleschen Werte werden beide an dem Punkt überprüft, an dem die Seite aufgelöst wird. Wenn beide wahr sind, bleibt es auf der Seite und wenn das eine oder das andere wahr ist, springt der Benutzer auf eine bestimmte Seite.

Sehen Sie den Code unten

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

prüfe ich diese dann in einer resolve Funktion:

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

Meine Frage ist kann ich diese Konstanten außer Kraft setzen, damit ich die Seiten korrekt umgeleitet testen werden in Mein Winkelmesser testet?

Antwort

0

Vielleicht können Sie Ihr Modul verspotten und die gewünschte Konstante in einer beforeEach-Funktion bereitstellen.

So etwas:

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

Verwandte Themen