Ho un semplice servizio che imposta i cookie in modo angolare, ma non esiste un modo ovvio per verificare che siano stati impostati in un test end-to-end.Come si testano i cookie di AngularJS in un test end-to-end?
Il codice di test è semplice come
var splashApp = angular.module('splashApp', ['ngCookies']);
splashApp.controller('FooterController', function ($location, $cookies) {
$cookies.some_cookie = $location.absUrl();
});
ma non riesco a trovare nessuna documentazione su come testare. Ecco quello che ho trovato:
- How to access cookies in AngularJS?
- http://docs.angularjs.org/api/ngCookies $ biscotti
- http://docs.angularjs.org/api/ngCookies $ cookieStore
Ho anche provato
angular.scenario.dsl('cookies', function() {
var chain = {};
chain.get = function(name) {
return this.addFutureAction('get cookies', function($window, $document, done) {
var injector = $window.angular.element($window.document.body).inheritedData('$injector');
var cookies = injector.get('$cookies');
done(null, cookies);
});
};
return function() {
return chain;
}
});
Ma questo restituisce solo il.. cookie per il browser principale, non la pagina che voglio testare.
Qualche esempio su come fare questo?
Immagino che tu stia facendo qualcosa con i cookie, magari cambiando una classe CSS, nel tuo programma - qualsiasi cosa leghi efficacemente il valore del cookie a qualcosa di esterno. Prova a provare quello invece? – jclancy
Non lo sono, in realtà. I cookie vengono memorizzati ad un certo punto della sessione, quindi vengono inviati (automaticamente) al server insieme a una richiesta POST. Sfortunatamente non ci sono modifiche all'interfaccia a causa dei cookie. –
Hai letto questo? http://pastie.org/4758669 – jclancy