csrf-service-test.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import Ember from 'ember';
  2. import { module, test } from 'qunit';
  3. import startApp from '../helpers/start-app';
  4. var application, store, cookie, service;
  5. module('Acceptance: CSRF Service', {
  6. beforeEach: function() {
  7. application = startApp();
  8. var container = application.__container__;
  9. store = container.lookup('service:preload-store');
  10. cookie = store.get('csrfCookieName');
  11. service = container.lookup('service:csrf');
  12. },
  13. afterEach: function() {
  14. Ember.run(application, 'destroy');
  15. store.set('csrfCookieName', cookie);
  16. }
  17. });
  18. test('cookieName property is valid csrf cookie name', function(assert) {
  19. assert.expect(2);
  20. store.set('csrfCookieName', 'testCSRFCookie');
  21. assert.equal(service.get('cookieName'), 'testCSRFCookie');
  22. store.set('csrfCookieName', 'wololoLolo');
  23. assert.equal(service.get('cookieName'), 'wololoLolo');
  24. });
  25. test('token property is valid csrf token', function(assert) {
  26. assert.expect(1);
  27. var cookieName = 'validcsrfcookie';
  28. var token = 'v4l1dc5rft0k3n';
  29. document.cookie = cookieName + '=' + token + ';';
  30. store.set('csrfCookieName', cookieName);
  31. assert.equal(service.get('token'), token);
  32. });
  33. test('updateFormToken updates csrf token in given form', function(assert) {
  34. assert.expect(1);
  35. var $form = Ember.$('<form>');
  36. $form.append(Ember.$('<input type="hidden" name="csrfmiddlewaretoken" value="oldtoken">'));
  37. var cookieName = 'insertedcsrfcookie';
  38. var token = 'insertedtoken';
  39. document.cookie = cookieName + '=' + token + ';';
  40. store.set('csrfCookieName', cookieName);
  41. service.updateFormToken($form);
  42. assert.equal($form.find('input').val(), token);
  43. });