@@ -35,6 +35,7 @@ async def test_maintainer_plus_can_create_queue(
3535 "name" : "New_queue" ,
3636 "description" : "Some interesting description" ,
3737 "group_id" : mock_group .group .id ,
38+ "slug" : f"{ mock_group .group .id } -New_queue" ,
3839 }
3940 assert result .status_code == 200
4041 queue = (await session .scalars (select (Queue ).filter_by (id = result .json ()["id" ]))).one ()
@@ -43,6 +44,7 @@ async def test_maintainer_plus_can_create_queue(
4344 assert queue .group_id == mock_group .group .id
4445 assert queue .name == "New_queue"
4546 assert queue .description == "Some interesting description"
47+ assert queue .slug == f"{ mock_group .group .id } -New_queue"
4648
4749 await session .delete (queue )
4850 await session .commit ()
@@ -71,6 +73,7 @@ async def test_superuser_can_create_queue(
7173 "name" : "New_queue" ,
7274 "description" : "Some interesting description" ,
7375 "group_id" : mock_group .group .id ,
76+ "slug" : f"{ mock_group .group .id } -New_queue" ,
7477 }
7578 assert result .status_code == 200
7679 queue = (await session .scalars (select (Queue ).filter_by (id = result .json ()["id" ]))).one ()
@@ -79,6 +82,7 @@ async def test_superuser_can_create_queue(
7982 assert queue .group_id == mock_group .group .id
8083 assert queue .name == "New_queue"
8184 assert queue .description == "Some interesting description"
85+ assert queue .slug == f"{ mock_group .group .id } -New_queue"
8286
8387 await session .delete (queue )
8488 await session .commit ()
@@ -395,3 +399,56 @@ async def test_maintainer_plus_can_not_create_queue_with_duplicate_name_error(
395399 "details" : None ,
396400 },
397401 }
402+
403+
404+ async def test_maintainer_plus_can_create_queues_with_the_same_name_but_diff_groups (
405+ client : AsyncClient ,
406+ session : AsyncSession ,
407+ role_maintainer_plus : UserTestRoles ,
408+ mock_group : MockGroup ,
409+ group : MockGroup ,
410+ ):
411+ # Arrange
412+ mock_group_user = mock_group .get_member_of_role (role_maintainer_plus )
413+ group_user = group .get_member_of_role (role_maintainer_plus )
414+
415+ # Act
416+ queue_1 = await client .post (
417+ "v1/queues" ,
418+ headers = {"Authorization" : f"Bearer { mock_group_user .token } " },
419+ json = {
420+ "name" : "New_queue" ,
421+ "description" : "Some interesting description" ,
422+ "group_id" : mock_group .group .id ,
423+ },
424+ )
425+ queue_2 = await client .post (
426+ "v1/queues" ,
427+ headers = {"Authorization" : f"Bearer { group_user .token } " },
428+ json = {
429+ "name" : "New_queue" ,
430+ "description" : "Some interesting description" ,
431+ "group_id" : group .group .id ,
432+ },
433+ )
434+ queue_1_json = queue_1 .json ()
435+ queue_2_json = queue_2 .json ()
436+
437+ # Assert
438+ assert queue_1 .status_code == 200
439+ assert queue_1_json == {
440+ "id" : queue_1_json ["id" ],
441+ "name" : "New_queue" ,
442+ "description" : "Some interesting description" ,
443+ "group_id" : mock_group .group .id ,
444+ "slug" : f"{ mock_group .group .id } -New_queue" ,
445+ }
446+ assert queue_2 .status_code == 200
447+ assert queue_2_json == {
448+ "id" : queue_2_json ["id" ],
449+ "name" : "New_queue" ,
450+ "description" : "Some interesting description" ,
451+ "group_id" : group .group .id ,
452+ "slug" : f"{ group .group .id } -New_queue" ,
453+ }
454+ assert queue_1_json ["slug" ] != queue_2_json ["slug" ]
0 commit comments