dev-csrf-tokens-test.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import Ember from 'ember';
  2. import { initialize } from '../../../initializers/dev-csrf-tokens';
  3. import MisagoPreloadStore from '../../../utils/preloadstore';
  4. import { module, test } from 'qunit';
  5. var container, application;
  6. var cookieName = MisagoPreloadStore.get('csrfCookieName');
  7. var testCookieName = 'devcsrftokenCookie';
  8. var testCookieValue = 't3stW0rk5';
  9. var $element = null;
  10. module('devCsrfTokensInitializer', {
  11. beforeEach: function() {
  12. // assert csrf token exists:
  13. MisagoPreloadStore.set('csrfCookieName', testCookieName);
  14. document.cookie = testCookieName + '=' + testCookieValue + ';';
  15. // set test element
  16. $element = Ember.$('<input type="hidden" name="csrfmiddlewaretoken">');
  17. Ember.$('#ember-testing').append($element);
  18. // prepare app
  19. Ember.run(function() {
  20. application = Ember.Application.create();
  21. container = application.__container__;
  22. application.deferReadiness();
  23. });
  24. },
  25. afterEach: function() {
  26. MisagoPreloadStore.set('csrfCookieName', cookieName);
  27. $element.remove();
  28. }
  29. });
  30. test('sets tokens on predefined forms', function(assert) {
  31. assert.expect(1);
  32. var done = assert.async();
  33. Ember.run(function() {
  34. initialize();
  35. assert.equal($element.val(), testCookieValue);
  36. done();
  37. });
  38. });