@ -25,16 +25,19 @@ public class CollectionAuthorizationHandlerTests
[BitAutoData(OrganizationUserType.Custom, true, false)]
[BitAutoData(OrganizationUserType.Custom, true, false)]
[BitAutoData(OrganizationUserType.Owner, true, true)]
[BitAutoData(OrganizationUserType.Owner, true, true)]
public async Task CanManageCollectionAccessAsync_Success (
public async Task CanManageCollectionAccessAsync_Success (
OrganizationUserType userType , bool editAnyCollection , bool manageCollections ,
OrganizationUserType userType , bool editAnyCollection , bool manageAssigned Collections ,
SutProvider < CollectionAuthorizationHandler > sutProvider ,
SutProvider < CollectionAuthorizationHandler > sutProvider ,
ICollection < Collection > collections ,
ICollection < Collection > collections ,
ICollection < CollectionDetails > collectionDetails ,
IList < CollectionDetails > collectionDetails ,
CurrentConten tOrganization organization )
CurrentContex tOrganization organization )
{
{
var actingUserId = Guid . NewGuid ( ) ;
var actingUserId = Guid . NewGuid ( ) ;
foreach ( var collectionDetail in collectionDetails )
if ( ! manageAssignedCollections )
{
{
collectionDetail . Manage = manageCollections ;
// Simulate the user not being assigned to a collection
collectionDetails . RemoveAt ( 0 ) ;
organization . Permissions . EditAssignedCollections = false ;
}
}
organization . Type = userType ;
organization . Type = userType ;
@ -102,7 +105,7 @@ public class CollectionAuthorizationHandlerTests
public async Task CanManageCollectionAccessAsync_MissingOrgMembership_Failure (
public async Task CanManageCollectionAccessAsync_MissingOrgMembership_Failure (
SutProvider < CollectionAuthorizationHandler > sutProvider ,
SutProvider < CollectionAuthorizationHandler > sutProvider ,
ICollection < Collection > collections ,
ICollection < Collection > collections ,
CurrentConten tOrganization organization )
CurrentContex tOrganization organization )
{
{
var actingUserId = Guid . NewGuid ( ) ;
var actingUserId = Guid . NewGuid ( ) ;
@ -128,17 +131,14 @@ public class CollectionAuthorizationHandlerTests
public async Task CanManageCollectionAccessAsync_MissingManageCollectionPermission_Failure (
public async Task CanManageCollectionAccessAsync_MissingManageCollectionPermission_Failure (
SutProvider < CollectionAuthorizationHandler > sutProvider ,
SutProvider < CollectionAuthorizationHandler > sutProvider ,
ICollection < Collection > collections ,
ICollection < Collection > collections ,
ICollection < CollectionDetails > collectionDetails ,
IList < CollectionDetails > collectionDetails ,
CurrentConten tOrganization organization )
CurrentContex tOrganization organization )
{
{
var actingUserId = Guid . NewGuid ( ) ;
var actingUserId = Guid . NewGuid ( ) ;
foreach ( var collectionDetail in collectionDetails )
// Simulate the user not being assigned to a collection
{
collectionDetails . RemoveAt ( 0 ) ;
collectionDetail . Manage = true ;
organization . Permissions . EditAssignedCollections = true ;
}
// Simulate one collection missing the manage permission
collectionDetails . First ( ) . Manage = false ;
// Ensure the user is not an owner/admin and does not have edit any collection permission
// Ensure the user is not an owner/admin and does not have edit any collection permission
organization . Type = OrganizationUserType . User ;
organization . Type = OrganizationUserType . User ;