From 469111e0e34fa1f953c3638a1826eaca0777fff9 Mon Sep 17 00:00:00 2001
From: felmer <felmer>
Date: Tue, 21 Nov 2017 08:17:01 +0000
Subject: [PATCH] SSDM-5724: js test for fetching user and authorization group
 of role assignments

SVN: 38926
---
 .../openbis-v3-api-test/html/test/common.js   |  8 +++-
 .../openbis-v3-api-test/html/test/test-get.js | 45 +++++++++++++++++--
 2 files changed, 48 insertions(+), 5 deletions(-)

diff --git a/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/common.js b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/common.js
index 25dce12d4a4..ce9a9adcead 100644
--- a/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/common.js
+++ b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/common.js
@@ -430,12 +430,16 @@ define([ 'jquery', 'openbis', 'underscore', 'test/dtos' ], function($, defaultOp
 			});
 		}.bind(this);
 		
-		this.createRoleAssignment = function(facade, space) {
+		this.createRoleAssignment = function(facade, isUser) {
 			var c = this;
 			return c.createSpace(facade).then(function(spaceId) {
 				var creation = new dtos.RoleAssignmentCreation();
 				creation.setRole(c.Role.ADMIN);
-				creation.setUserId(new c.PersonPermId("power_user"));
+				if (isUser) {
+					creation.setUserId(new c.PersonPermId("power_user"));
+				} else {
+					creation.setAuthorizationGroupId(new c.AuthorizationGroupPermId("TEST-GROUP"));
+				}
 				creation.setSpaceId(spaceId);
 				return facade.createRoleAssignments([ creation ]).then(function(permIds) {
 					return permIds[0];
diff --git a/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-get.js b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-get.js
index 7f8cd22da42..768c7d48ae6 100644
--- a/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-get.js
+++ b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-get.js
@@ -368,20 +368,59 @@ define([ 'jquery', 'underscore', 'openbis', 'test/openbis-execute-operations', '
 			testGet(c, fCreate, fGet, fGetEmptyFetchOptions, fechOptionsTestConfig);
 		});
 		
-		QUnit.test("getRoleAssignments()", function(assert) {
+		QUnit.test("getRoleAssignments() with user", function(assert) {
 			var c = new common(assert, openbis);
 			var fo = new c.RoleAssignmentFetchOptions();
+			fo.withUser();
 			var fechOptionsTestConfig = getConfigForFetchOptions(fo);
 			
 			var fCreate = function(facade) {
-				return $.when(c.createRoleAssignment(facade)).then(function(id) {
+				return $.when(c.createRoleAssignment(facade, true)).then(function(id) {
 					return [ id ];
 				});
 			}
 			
 			var fGet = function(facade, permIds) {
 				testFetchOptionsAssignation(c, fo, fechOptionsTestConfig);
-				return facade.getRoleAssignments(permIds, fo);
+				var result = facade.getRoleAssignments(permIds, fo);
+				result.then(function(map) {
+					permIds.forEach(function(permId) {
+						var entity = map[permId];
+						c.assertEqual(entity.getUser().getUserId(), "power_user", "User");
+					});
+				});
+				return result;
+			}
+			
+			var fGetEmptyFetchOptions = function(facade, permIds) {
+				return facade.getRoleAssignments(permIds, new c.RoleAssignmentFetchOptions());
+			}
+			
+			testGet(c, fCreate, fGet, fGetEmptyFetchOptions, fechOptionsTestConfig);
+		});
+		
+		QUnit.test("getRoleAssignments() with authorization group", function(assert) {
+			var c = new common(assert, openbis);
+			var fo = new c.RoleAssignmentFetchOptions();
+			fo.withAuthorizationGroup();
+			var fechOptionsTestConfig = getConfigForFetchOptions(fo);
+			
+			var fCreate = function(facade) {
+				return $.when(c.createRoleAssignment(facade, false)).then(function(id) {
+					return [ id ];
+				});
+			}
+			
+			var fGet = function(facade, permIds) {
+				testFetchOptionsAssignation(c, fo, fechOptionsTestConfig);
+				var result = facade.getRoleAssignments(permIds, fo);
+				result.then(function(map) {
+					permIds.forEach(function(permId) {
+						var entity = map[permId];
+						c.assertEqual(entity.getAuthorizationGroup().getCode(), "TEST-GROUP", "Authorization group");
+					});
+				});
+				return result;
 			}
 			
 			var fGetEmptyFetchOptions = function(facade, permIds) {
-- 
GitLab