Angular で Cookie を設定する単純なサービスがありますが、エンド ツー エンド テストで Cookie が設定されていることをテストする明らかな方法はありません。
テストするコードは次のように単純です。
var splashApp = angular.module('splashApp', ['ngCookies']);
splashApp.controller('FooterController', function ($location, $cookies) {
$cookies.some_cookie = $location.absUrl();
});
しかし、テスト方法に関するドキュメントが見つかりません。これが私が見つけたものです:
- AngularJS で Cookie にアクセスするには?
- http://docs.angularjs.org/api/ngCookies .$cookies
- http://docs.angularjs.org/api/ngCookies .$cookieStore
私も試してみました
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;
}
});
ただし、これは、テストしたいページではなく、親ブラウザーの Cookie のみを返します。
これを行う方法の例はありますか?