auth-service-test.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. import Ember from 'ember';
  2. import { module, test } from 'qunit';
  3. import startApp from '../helpers/start-app';
  4. import createUser from '../helpers/create-user';
  5. var application, container, session, service;
  6. module('Acceptance: AuthService', {
  7. beforeEach: function() {
  8. application = startApp();
  9. container = application.__container__;
  10. session = container.lookup('store:local');
  11. service = container.lookup('service:auth');
  12. },
  13. afterEach: function() {
  14. Ember.run(application, 'destroy');
  15. }
  16. });
  17. test('anon user was logged in', function(assert) {
  18. assert.expect(2);
  19. var user = createUser();
  20. session.setItem('auth-user', user);
  21. service._handleAuthChange(true);
  22. assert.ok(service.get('needsSync'));
  23. assert.equal(service.get('syncToUser.username'), user.get('username'));
  24. });
  25. test('authenticated user was logged out', function(assert) {
  26. assert.expect(2);
  27. var user = createUser();
  28. service.setProperties({
  29. 'isAuthenticated': true,
  30. 'user': user
  31. });
  32. service._handleAuthChange(false);
  33. assert.ok(service.get('needsSync'));
  34. assert.equal(service.get('syncToUser'), null);
  35. });
  36. test('authenticated user was re-logged', function(assert) {
  37. assert.expect(2);
  38. var user = createUser();
  39. var newUser = createUser({
  40. id: user.get('id') + 123,
  41. username: 'justKyle'
  42. });
  43. service.setProperties({
  44. 'isAuthenticated': true,
  45. 'user': user
  46. });
  47. service._handleUserChange(newUser);
  48. assert.ok(service.get('needsSync'));
  49. assert.equal(service.get('syncToUser.username'), newUser.get('username'));
  50. });
  51. test('authenticated user was updated', function(assert) {
  52. assert.expect(2);
  53. var user = createUser();
  54. var newUser = createUser({
  55. username: 'justKyle'
  56. });
  57. service.setProperties({
  58. 'isAuthenticated': true,
  59. 'user': user
  60. });
  61. service._handleUserChange(newUser);
  62. assert.ok(!service.get('needsSync'));
  63. assert.equal(service.get('user.username'), newUser.get('username'));
  64. });
  65. test('POJO with user is obtainable', function(assert) {
  66. assert.expect(3);
  67. var user = createUser();
  68. service.setProperties({
  69. 'isAuthenticated': true,
  70. 'user': user
  71. });
  72. var pojo = service.getUserPOJO();
  73. assert.ok(pojo);
  74. assert.equal(pojo.username, service.get('user.username'));
  75. service.set('user.username', 'Baww');
  76. pojo = service.getUserPOJO();
  77. assert.equal(pojo.username, service.get('user.username'));
  78. });