From cbd0c46e37ed2578578d6c1930bc7db55f1746d3 Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Tue, 22 Mar 2016 12:43:19 +0100 Subject: [PATCH] Ensure that permission functions work without a user --- app/utils/permission.js | 18 +++++++++--------- tests/unit/utils/permission-test.js | 3 +++ 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/app/utils/permission.js b/app/utils/permission.js index 0d975368..cbe6785a 100644 --- a/app/utils/permission.js +++ b/app/utils/permission.js @@ -1,29 +1,29 @@ -var hasPermission = function(currentUser, repoId) { +var hasPermission = function(user, repoId) { var id = parseInt(repoId); var permissions; - if (currentUser) { - if (permissions = currentUser.get('permissions')) { + if (user) { + if (permissions = user.get('permissions')) { return permissions.contains(id); } } }; -var hasPushPermission = function(currentUser, repoId) { +var hasPushPermission = function(user, repoId) { var id = parseInt(repoId); var permissions; - if (currentUser) { - if (permissions = currentUser.get('pushPermissions')) { + if (user) { + if (permissions = user.get('pushPermissions')) { return permissions.contains(id); } } }; -var hasAdminPermission = function(currentUser, repoId) { +var hasAdminPermission = function(user, repoId) { var id = parseInt(repoId); var permissions; - if (currentUser) { - if (permissions = currentUser.get('adminPermissions')) { + if (user) { + if (permissions = user.get('adminPermissions')) { return permissions.contains(id); } } diff --git a/tests/unit/utils/permission-test.js b/tests/unit/utils/permission-test.js index e482430f..7ae1af92 100644 --- a/tests/unit/utils/permission-test.js +++ b/tests/unit/utils/permission-test.js @@ -8,16 +8,19 @@ test('it checks permissions', function(assert) { let user = Ember.Object.create({permissions: [1]}); assert.ok(hasPermission(user, 1)); assert.ok(!hasPermission(user, 2)); + assert.ok(!hasPermission(null, 1)); }); test('it checks push permissions', function(assert) { let user = Ember.Object.create({pushPermissions: [1]}); assert.ok(hasPushPermission(user, 1)); assert.ok(!hasPushPermission(user, 2)); + assert.ok(!hasPushPermission(null, 1)); }); test('it checks admin permissions', function(assert) { let user = Ember.Object.create({adminPermissions: [1]}); assert.ok(hasAdminPermission(user, 1)); assert.ok(!hasAdminPermission(user, 2)); + assert.ok(!hasAdminPermission(null, 1)); });