@@ -1342,22 +1342,30 @@ def test_post_new_role_validation_fails(self, db_request):
1342
1342
1343
1343
def test_post_new_role (self , monkeypatch , db_request ):
1344
1344
project = ProjectFactory .create (name = "foobar" )
1345
- user = UserFactory .create (username = "testuser" )
1345
+ new_user = UserFactory .create (username = "new_user" )
1346
+ owner_1 = UserFactory .create (username = "owner_1" )
1347
+ owner_2 = UserFactory .create (username = "owner_2" )
1348
+ owner_1_role = RoleFactory .create (
1349
+ user = owner_1 , project = project , role_name = "Owner"
1350
+ )
1351
+ owner_2_role = RoleFactory .create (
1352
+ user = owner_2 , project = project , role_name = "Owner"
1353
+ )
1346
1354
1347
1355
user_service = pretend .stub (
1348
- find_userid = lambda username : user .id ,
1349
- get_user = lambda userid : user ,
1356
+ find_userid = lambda username : new_user .id ,
1357
+ get_user = lambda userid : new_user ,
1350
1358
)
1351
1359
db_request .find_service = pretend .call_recorder (
1352
1360
lambda iface , context : user_service
1353
1361
)
1354
1362
db_request .method = "POST"
1355
1363
db_request .POST = pretend .stub ()
1356
1364
db_request .remote_addr = "10.10.10.10"
1357
- db_request .user = user
1365
+ db_request .user = owner_1
1358
1366
form_obj = pretend .stub (
1359
1367
validate = pretend .call_recorder (lambda : True ),
1360
- username = pretend .stub (data = user .username ),
1368
+ username = pretend .stub (data = new_user .username ),
1361
1369
role_name = pretend .stub (data = "Owner" ),
1362
1370
)
1363
1371
form_class = pretend .call_recorder (lambda * a , ** kw : form_obj )
@@ -1393,17 +1401,17 @@ def test_post_new_role(self, monkeypatch, db_request):
1393
1401
pretend .call (user_service = user_service ),
1394
1402
]
1395
1403
assert db_request .session .flash .calls == [
1396
- pretend .call ("Added collaborator 'testuser '" , queue = "success" ),
1404
+ pretend .call ("Added collaborator 'new_user '" , queue = "success" ),
1397
1405
]
1398
1406
1399
1407
assert send_collaborator_added_email .calls == [
1400
1408
pretend .call (
1401
1409
db_request ,
1402
- user ,
1410
+ new_user ,
1403
1411
db_request .user ,
1404
1412
project .name ,
1405
1413
form_obj .role_name .data ,
1406
- []
1414
+ { owner_2 }
1407
1415
)
1408
1416
]
1409
1417
@@ -1413,23 +1421,27 @@ def test_post_new_role(self, monkeypatch, db_request):
1413
1421
db_request .user ,
1414
1422
project .name ,
1415
1423
form_obj .role_name .data ,
1416
- user ,
1424
+ new_user ,
1417
1425
),
1418
1426
]
1419
1427
1420
1428
# Only one role is created
1421
- role = db_request .db .query (Role ).one ()
1429
+ role = db_request .db .query (Role ).filter ( Role . user == new_user ). one ()
1422
1430
1423
1431
assert result == {
1424
1432
"project" : project ,
1425
- "roles_by_user" : {user .username : [role ]},
1433
+ "roles_by_user" : {
1434
+ new_user .username : [role ],
1435
+ owner_1 .username : [owner_1_role ],
1436
+ owner_2 .username : [owner_2_role ],
1437
+ },
1426
1438
"form" : form_obj ,
1427
1439
}
1428
1440
1429
1441
entry = db_request .db .query (JournalEntry ).one ()
1430
1442
1431
1443
assert entry .name == project .name
1432
- assert entry .action == "add Owner testuser "
1444
+ assert entry .action == "add Owner new_user "
1433
1445
assert entry .submitted_by == db_request .user
1434
1446
assert entry .submitted_from == db_request .remote_addr
1435
1447
0 commit comments