コード例 #1
0
 beforeEach(() => {
   store = Adaptive.extend({
     _createStore(storeType, options) {
       return this._super(storeType, assign(options, { _isFastBoot: false }));
     }
   }).create({
     _isLocalStorageAvailable: true
   });
 });
コード例 #2
0
 beforeEach(() => {
   cookieService = FakeCookieService.create();
   sinon.spy(cookieService, 'read');
   sinon.spy(cookieService, 'write');
   store = Adaptive.extend({
     _createStore(storeType, options) {
       return this._super(storeType, assign({}, options, { _isFastBoot: false }));
     }
   }).create({
     _isLocalStorageAvailable: false,
     _cookies: cookieService
   });
 });
コード例 #3
0
export default function createAdaptiveStore(
  cookiesService,
  options = {},
  props = {}
) {
  let cookieStore = createCookieStore(
    cookiesService,
    assign({}, options, { _isFastboot: false })
  );
  props._createStore = function() {
    cookieStore.on('sessionDataUpdated', data => {
      this.trigger('sessionDataUpdated', data);
    });

    return cookieStore;
  };

  return Adaptive.extend(props).create(options);
}
コード例 #4
0
  describe('when localStorage is not available', () => {
    let cookieService;
    beforeEach(() => {
      cookieService = FakeCookieService.create();
      sinon.spy(cookieService, 'read');
      sinon.spy(cookieService, 'write');
      store = Adaptive.extend({
        _createStore(storeType, options) {
          return this._super(storeType, assign({}, options, { _isFastBoot: false }));
        }
      }).create({
        _isLocalStorageAvailable: false,
        _cookies: cookieService
      });
    });

    itBehavesLikeAStore({
      store() {
        return store;
      }
    });

    itBehavesLikeACookieStore({
      createStore(cookieService, options = {}) {
        options._isLocalStorageAvailable = false;
        return Adaptive.extend({
          _cookies: cookieService,
          _fastboot: { isFastBoot: false },
          _createStore(storeType, options) {
            return this._super(storeType, assign({}, options, { _isFastBoot: false }));
          }
        }).create(options);
      },
      renew(store, data) {
        return store.get('_store')._renew(data);
      },
      sync(store) {
        store.get('_store')._syncData();
      },
      spyRewriteCookieMethod(store) {
        sinon.spy(store.get('_store'), 'rewriteCookie');
        return store.get('_store').rewriteCookie;
      }
    });

    it('persists to cookie when cookie attributes change', () => {
      let now = new Date();

      run(() => {
        store.persist({ key: 'value' });
        store.setProperties({
          cookieName:           'test:session',
          cookieExpirationTime: 60
        });
      });

      expect(cookieService.write).to.have.been.calledWith(
        'test:session-expiration_time',
        60,
        sinon.match(function({ domain, expires, path, secure }) {
          return domain === null &&
            path === '/' &&
            secure === false && expires >= new Date(now.getTime() + 60 * 1000);
        })
      );
    });
  });
コード例 #5
0
ファイル: application.js プロジェクト: Subtletree/hut
//import Ember from 'ember';
import AdaptiveStore from 'ember-simple-auth/session-stores/adaptive';

export default AdaptiveStore.extend();
コード例 #6
0
ファイル: application.js プロジェクト: fablabbcn/fablabs-ui
import Ember from 'ember';
import AdaptiveStore from 'ember-simple-auth/session-stores/adaptive';
const { $ } = Ember;

export default AdaptiveStore.extend({
  cookieName: 'XSRF-TOKEN'
});

$(function() {
  var token = $('meta[name="csrf-token"]').attr('content');
  return $.ajaxPrefilter(function(options, originalOptions, xhr) {
      return xhr.setRequestHeader('X-CSRF-Token', token);
  });
});
コード例 #7
0
ファイル: application.js プロジェクト: 0verthinking/Ghost
import AdaptiveStore from 'ember-simple-auth/session-stores/adaptive';
import ghostPaths from 'ghost/utils/ghost-paths';

const paths = ghostPaths();
const keyName = `ghost${(paths.subdir.indexOf('/') === 0 ? `-${paths.subdir.substr(1)}` : ``) }:session`;

export default AdaptiveStore.extend({
    localStorageKey: keyName,
    cookieName: keyName
});
コード例 #8
0
import AdaptiveStore from 'ember-simple-auth/session-stores/adaptive';

export default AdaptiveStore.extend({
    localStorageKey: 'ghost:session',
    cookieName: 'ghost:session'
});