55import pytest
66
77from mavedb .lib .validation .urn_re import MAVEDB_COLLECTION_URN_RE
8- from mavedb .models .enums .contribution_role import ContributionRole
8+ from mavedb .models .enums .contribution_role import ContributionRole
99from mavedb .view_models .collection import Collection
1010from tests .helpers .constants import (
1111 EXTRA_USER ,
@@ -50,14 +50,13 @@ def test_create_public_collection(client, setup_router_db):
5050 assert (key , expected_response [key ]) == (key , response_data [key ])
5151
5252
53- @pytest .mark .parametrize (
54- "role" ,
55- ContributionRole ._member_names_
56- )
53+ @pytest .mark .parametrize ("role" , ContributionRole ._member_names_ )
5754def test_add_collection_user_to_collection_role (role , client , setup_router_db ):
5855 collection = create_collection (client , {"private" : True })
5956
60- response = client .post (f"/api/v1/collections/{ collection ['urn' ]} /admins" , json = {"orcid_id" : EXTRA_USER ["username" ]})
57+ response = client .post (
58+ f"/api/v1/collections/{ collection ['urn' ]} /{ role } s" , json = {"orcid_id" : EXTRA_USER ["username" ]}
59+ )
6160 assert response .status_code == 200
6261 response_data = response .json ()
6362 expected_response = deepcopy (TEST_COLLECTION_RESPONSE )
@@ -66,20 +65,18 @@ def test_add_collection_user_to_collection_role(role, client, setup_router_db):
6665 "urn" : collection ["urn" ],
6766 "badgeName" : None ,
6867 "description" : None ,
69- "admins" : [
70- {
71- "firstName" : TEST_USER ["first_name" ],
72- "lastName" : TEST_USER ["last_name" ],
73- "orcidId" : TEST_USER ["username" ],
74- },
75- {
76- "firstName" : EXTRA_USER ["first_name" ],
77- "lastName" : EXTRA_USER ["last_name" ],
78- "orcidId" : EXTRA_USER ["username" ],
79- },
80- ],
8168 }
8269 )
70+ expected_response [f"{ role } s" ].extend (
71+ [
72+ {
73+ "recordType" : "User" ,
74+ "firstName" : EXTRA_USER ["first_name" ],
75+ "lastName" : EXTRA_USER ["last_name" ],
76+ "orcidId" : EXTRA_USER ["username" ],
77+ },
78+ ]
79+ )
8380 assert sorted (expected_response .keys ()) == sorted (response_data .keys ())
8481 for key in expected_response :
8582 assert (key , expected_response [key ]) == (key , response_data [key ])
@@ -113,11 +110,13 @@ def test_admin_can_read_private_collection(session, client, setup_router_db, ext
113110 "urn" : response_data ["urn" ],
114111 "admins" : [
115112 {
113+ "recordType" : "User" ,
116114 "firstName" : TEST_USER ["first_name" ],
117115 "lastName" : TEST_USER ["last_name" ],
118116 "orcidId" : TEST_USER ["username" ],
119117 },
120118 {
119+ "recordType" : "User" ,
121120 "firstName" : EXTRA_USER ["first_name" ],
122121 "lastName" : EXTRA_USER ["last_name" ],
123122 "orcidId" : EXTRA_USER ["username" ],
@@ -145,6 +144,7 @@ def test_editor_can_read_private_collection(session, client, setup_router_db, ex
145144 "urn" : response_data ["urn" ],
146145 "editors" : [
147146 {
147+ "recordType" : "User" ,
148148 "firstName" : EXTRA_USER ["first_name" ],
149149 "lastName" : EXTRA_USER ["last_name" ],
150150 "orcidId" : EXTRA_USER ["username" ],
@@ -172,6 +172,7 @@ def test_viewer_can_read_private_collection(session, client, setup_router_db, ex
172172 "urn" : response_data ["urn" ],
173173 "viewers" : [
174174 {
175+ "recordType" : "User" ,
175176 "firstName" : EXTRA_USER ["first_name" ],
176177 "lastName" : EXTRA_USER ["last_name" ],
177178 "orcidId" : EXTRA_USER ["username" ],
@@ -246,17 +247,20 @@ def test_admin_can_add_experiment_to_collection(
246247 "badgeName" : None ,
247248 "description" : None ,
248249 "modifiedBy" : {
250+ "recordType" : "User" ,
249251 "firstName" : EXTRA_USER ["first_name" ],
250252 "lastName" : EXTRA_USER ["last_name" ],
251253 "orcidId" : EXTRA_USER ["username" ],
252254 },
253255 "admins" : [
254256 {
257+ "recordType" : "User" ,
255258 "firstName" : TEST_USER ["first_name" ],
256259 "lastName" : TEST_USER ["last_name" ],
257260 "orcidId" : TEST_USER ["username" ],
258261 },
259262 {
263+ "recordType" : "User" ,
260264 "firstName" : EXTRA_USER ["first_name" ],
261265 "lastName" : EXTRA_USER ["last_name" ],
262266 "orcidId" : EXTRA_USER ["username" ],
@@ -297,12 +301,14 @@ def test_editor_can_add_experiment_to_collection(
297301 "badgeName" : None ,
298302 "description" : None ,
299303 "modifiedBy" : {
304+ "recordType" : "User" ,
300305 "firstName" : EXTRA_USER ["first_name" ],
301306 "lastName" : EXTRA_USER ["last_name" ],
302307 "orcidId" : EXTRA_USER ["username" ],
303308 },
304309 "editors" : [
305310 {
311+ "recordType" : "User" ,
306312 "firstName" : EXTRA_USER ["first_name" ],
307313 "lastName" : EXTRA_USER ["last_name" ],
308314 "orcidId" : EXTRA_USER ["username" ],
@@ -407,17 +413,20 @@ def test_admin_can_add_score_set_to_collection(
407413 "badgeName" : None ,
408414 "description" : None ,
409415 "modifiedBy" : {
416+ "recordType" : "User" ,
410417 "firstName" : EXTRA_USER ["first_name" ],
411418 "lastName" : EXTRA_USER ["last_name" ],
412419 "orcidId" : EXTRA_USER ["username" ],
413420 },
414421 "admins" : [
415422 {
423+ "recordType" : "User" ,
416424 "firstName" : TEST_USER ["first_name" ],
417425 "lastName" : TEST_USER ["last_name" ],
418426 "orcidId" : TEST_USER ["username" ],
419427 },
420428 {
429+ "recordType" : "User" ,
421430 "firstName" : EXTRA_USER ["first_name" ],
422431 "lastName" : EXTRA_USER ["last_name" ],
423432 "orcidId" : EXTRA_USER ["username" ],
@@ -457,12 +466,14 @@ def test_editor_can_add_score_set_to_collection(
457466 "badgeName" : None ,
458467 "description" : None ,
459468 "modifiedBy" : {
469+ "recordType" : "User" ,
460470 "firstName" : EXTRA_USER ["first_name" ],
461471 "lastName" : EXTRA_USER ["last_name" ],
462472 "orcidId" : EXTRA_USER ["username" ],
463473 },
464474 "editors" : [
465475 {
476+ "recordType" : "User" ,
466477 "firstName" : EXTRA_USER ["first_name" ],
467478 "lastName" : EXTRA_USER ["last_name" ],
468479 "orcidId" : EXTRA_USER ["username" ],
0 commit comments