Skip to content

Split Organization.LimitCollectionCreationDeletion into two separate business rules #3554

Split Organization.LimitCollectionCreationDeletion into two separate business rules

Split Organization.LimitCollectionCreationDeletion into two separate business rules #3554

GitHub Actions / Test Results succeeded Sep 26, 2024 in 0s

92 passed, 0 failed and 0 skipped

Tests passed successfully

✅ test/Infrastructure.IntegrationTest/TestResults/infrastructure-test-results.trx

92 tests were completed in 10s with 92 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
Bit.Infrastructure.IntegrationTest.Auth.Repositories.AuthRequestRepositoryTests 8✅ 4s
Bit.Infrastructure.IntegrationTest.Auth.Repositories.EmergencyAccessRepositoriesTests 4✅ 3s
Bit.Infrastructure.IntegrationTest.DistributedCacheTests 12✅ 7s
Bit.Infrastructure.IntegrationTest.Repositories.CipherRepositoryTests 12✅ 7s
Bit.Infrastructure.IntegrationTest.Repositories.CollectionRepositoryTests 24✅ 6s
Bit.Infrastructure.IntegrationTest.Repositories.OrganizationRepositoryTests 4✅ 4s
Bit.Infrastructure.IntegrationTest.Repositories.OrganizationUserRepositoryTests 20✅ 6s
Bit.Infrastructure.IntegrationTest.Tools.SendRepositoryTests 8✅ 3s

✅ Bit.Infrastructure.IntegrationTest.Auth.Repositories.AuthRequestRepositoryTests

✅ DeleteExpiredAsync_Works(authRequestRepository: AuthRequestRepository { }, userRepository: UserRepository { })
✅ DeleteExpiredAsync_Works(authRequestRepository: AuthRequestRepository { }, userRepository: UserRepository { })
✅ DeleteExpiredAsync_Works(authRequestRepository: AuthRequestRepository { }, userRepository: UserRepository { })
✅ DeleteExpiredAsync_Works(authRequestRepository: AuthRequestRepository { }, userRepository: UserRepository { })
✅ UpdateManyAsync_Works(authRequestRepository: AuthRequestRepository { }, userRepository: UserRepository { })
✅ UpdateManyAsync_Works(authRequestRepository: AuthRequestRepository { }, userRepository: UserRepository { })
✅ UpdateManyAsync_Works(authRequestRepository: AuthRequestRepository { }, userRepository: UserRepository { })
✅ UpdateManyAsync_Works(authRequestRepository: AuthRequestRepository { }, userRepository: UserRepository { })

✅ Bit.Infrastructure.IntegrationTest.Auth.Repositories.EmergencyAccessRepositoriesTests

✅ DeleteAsync_UpdatesRevisionDate(userRepository: UserRepository { }, emergencyAccessRepository: EmergencyAccessRepository { })
✅ DeleteAsync_UpdatesRevisionDate(userRepository: UserRepository { }, emergencyAccessRepository: EmergencyAccessRepository { })
✅ DeleteAsync_UpdatesRevisionDate(userRepository: UserRepository { }, emergencyAccessRepository: EmergencyAccessRepository { })
✅ DeleteAsync_UpdatesRevisionDate(userRepository: UserRepository { }, emergencyAccessRepository: EmergencyAccessRepository { })

✅ Bit.Infrastructure.IntegrationTest.DistributedCacheTests

✅ MultipleWritesOnSameKey_ShouldNotThrow(cache: EntityFrameworkCache { scanTask = null })
✅ MultipleWritesOnSameKey_ShouldNotThrow(cache: EntityFrameworkCache { scanTask = null })
✅ MultipleWritesOnSameKey_ShouldNotThrow(cache: EntityFrameworkCache { scanTask = null })
✅ MultipleWritesOnSameKey_ShouldNotThrow(cache: SqlServerCache { })
✅ ParallelReadsAndWrites_Work(cache: EntityFrameworkCache { scanTask = null }, timeProvider: 2000-01-01T00:00:00.000)
✅ ParallelReadsAndWrites_Work(cache: EntityFrameworkCache { scanTask = null }, timeProvider: 2000-01-01T00:00:00.000)
✅ ParallelReadsAndWrites_Work(cache: EntityFrameworkCache { scanTask = null }, timeProvider: 2000-01-01T00:00:00.000)
✅ ParallelReadsAndWrites_Work(cache: SqlServerCache { }, timeProvider: 2000-01-01T00:00:00.000)
✅ Simple_NotExpiredItem_StartsScan(cache: EntityFrameworkCache { scanTask = null }, timeProvider: 2000-01-01T00:00:00.000)
✅ Simple_NotExpiredItem_StartsScan(cache: EntityFrameworkCache { scanTask = null }, timeProvider: 2000-01-01T00:00:00.000)
✅ Simple_NotExpiredItem_StartsScan(cache: EntityFrameworkCache { scanTask = null }, timeProvider: 2000-01-01T00:00:00.000)
✅ Simple_NotExpiredItem_StartsScan(cache: SqlServerCache { }, timeProvider: 2000-01-01T00:00:00.000)

✅ Bit.Infrastructure.IntegrationTest.Repositories.CipherRepositoryTests

✅ CreateAsync_UpdateWithCollections_Works(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { }, collectionRepository: CollectionRepository { }, cipherRepository: CipherRepository { }, collectionCipherRepository: CollectionCipherRepository { })
✅ CreateAsync_UpdateWithCollections_Works(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { }, collectionRepository: CollectionRepository { }, cipherRepository: CipherRepository { }, collectionCipherRepository: CollectionCipherRepository { })
✅ CreateAsync_UpdateWithCollections_Works(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { }, collectionRepository: CollectionRepository { }, cipherRepository: CipherRepository { }, collectionCipherRepository: CollectionCipherRepository { })
✅ CreateAsync_UpdateWithCollections_Works(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { }, collectionRepository: CollectionRepository { }, cipherRepository: CipherRepository { }, collectionCipherRepository: CollectionCipherRepository { })
✅ DeleteAsync_UpdatesUserRevisionDate(userRepository: UserRepository { }, cipherRepository: CipherRepository { })
✅ DeleteAsync_UpdatesUserRevisionDate(userRepository: UserRepository { }, cipherRepository: CipherRepository { })
✅ DeleteAsync_UpdatesUserRevisionDate(userRepository: UserRepository { }, cipherRepository: CipherRepository { })
✅ DeleteAsync_UpdatesUserRevisionDate(userRepository: UserRepository { }, cipherRepository: CipherRepository { })
✅ ReplaceAsync_SuccessfullyMovesCipherToOrganization(userRepository: UserRepository { }, cipherRepository: CipherRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { }, folderRepository: FolderRepository { })
✅ ReplaceAsync_SuccessfullyMovesCipherToOrganization(userRepository: UserRepository { }, cipherRepository: CipherRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { }, folderRepository: FolderRepository { })
✅ ReplaceAsync_SuccessfullyMovesCipherToOrganization(userRepository: UserRepository { }, cipherRepository: CipherRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { }, folderRepository: FolderRepository { })
✅ ReplaceAsync_SuccessfullyMovesCipherToOrganization(userRepository: UserRepository { }, cipherRepository: CipherRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { }, folderRepository: FolderRepository { })

✅ Bit.Infrastructure.IntegrationTest.Repositories.CollectionRepositoryTests

✅ GetByIdWithPermissionsAsync_CombineGroupPermissions_Success(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, collectionRepository: CollectionRepository { }, organizationUserRepository: OrganizationUserRepository { }, groupRepository: GroupRepository { })
✅ GetByIdWithPermissionsAsync_CombineGroupPermissions_Success(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, collectionRepository: CollectionRepository { }, organizationUserRepository: OrganizationUserRepository { }, groupRepository: GroupRepository { })
✅ GetByIdWithPermissionsAsync_CombineGroupPermissions_Success(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, collectionRepository: CollectionRepository { }, organizationUserRepository: OrganizationUserRepository { }, groupRepository: GroupRepository { })
✅ GetByIdWithPermissionsAsync_CombineGroupPermissions_Success(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, collectionRepository: CollectionRepository { }, organizationUserRepository: OrganizationUserRepository { }, groupRepository: GroupRepository { })
✅ GetByIdWithPermissionsAsync_UserOverrideGroup_Success(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, collectionRepository: CollectionRepository { }, organizationUserRepository: OrganizationUserRepository { }, groupRepository: GroupRepository { })
✅ GetByIdWithPermissionsAsync_UserOverrideGroup_Success(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, collectionRepository: CollectionRepository { }, organizationUserRepository: OrganizationUserRepository { }, groupRepository: GroupRepository { })
✅ GetByIdWithPermissionsAsync_UserOverrideGroup_Success(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, collectionRepository: CollectionRepository { }, organizationUserRepository: OrganizationUserRepository { }, groupRepository: GroupRepository { })
✅ GetByIdWithPermissionsAsync_UserOverrideGroup_Success(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, collectionRepository: CollectionRepository { }, organizationUserRepository: OrganizationUserRepository { }, groupRepository: GroupRepository { })
✅ GetByIdWithPermissionsAsync_WithRelationships_Success(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, collectionRepository: CollectionRepository { }, organizationUserRepository: OrganizationUserRepository { }, groupRepository: GroupRepository { })
✅ GetByIdWithPermissionsAsync_WithRelationships_Success(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, collectionRepository: CollectionRepository { }, organizationUserRepository: OrganizationUserRepository { }, groupRepository: GroupRepository { })
✅ GetByIdWithPermissionsAsync_WithRelationships_Success(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, collectionRepository: CollectionRepository { }, organizationUserRepository: OrganizationUserRepository { }, groupRepository: GroupRepository { })
✅ GetByIdWithPermissionsAsync_WithRelationships_Success(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, collectionRepository: CollectionRepository { }, organizationUserRepository: OrganizationUserRepository { }, groupRepository: GroupRepository { })
✅ GetManyByOrganizationIdWithPermissionsAsync_GroupBy_Success(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, collectionRepository: CollectionRepository { }, organizationUserRepository: OrganizationUserRepository { }, groupRepository: GroupRepository { })
✅ GetManyByOrganizationIdWithPermissionsAsync_GroupBy_Success(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, collectionRepository: CollectionRepository { }, organizationUserRepository: OrganizationUserRepository { }, groupRepository: GroupRepository { })
✅ GetManyByOrganizationIdWithPermissionsAsync_GroupBy_Success(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, collectionRepository: CollectionRepository { }, organizationUserRepository: OrganizationUserRepository { }, groupRepository: GroupRepository { })
✅ GetManyByOrganizationIdWithPermissionsAsync_GroupBy_Success(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, collectionRepository: CollectionRepository { }, organizationUserRepository: OrganizationUserRepository { }, groupRepository: GroupRepository { })
✅ GetManyByOrganizationIdWithPermissionsAsync_Success(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, collectionRepository: CollectionRepository { }, organizationUserRepository: OrganizationUserRepository { }, groupRepository: GroupRepository { })
✅ GetManyByOrganizationIdWithPermissionsAsync_Success(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, collectionRepository: CollectionRepository { }, organizationUserRepository: OrganizationUserRepository { }, groupRepository: GroupRepository { })
✅ GetManyByOrganizationIdWithPermissionsAsync_Success(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, collectionRepository: CollectionRepository { }, organizationUserRepository: OrganizationUserRepository { }, groupRepository: GroupRepository { })
✅ GetManyByOrganizationIdWithPermissionsAsync_Success(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, collectionRepository: CollectionRepository { }, organizationUserRepository: OrganizationUserRepository { }, groupRepository: GroupRepository { })
✅ ReplaceAsync_Works(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { }, groupRepository: GroupRepository { }, collectionRepository: CollectionRepository { })
✅ ReplaceAsync_Works(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { }, groupRepository: GroupRepository { }, collectionRepository: CollectionRepository { })
✅ ReplaceAsync_Works(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { }, groupRepository: GroupRepository { }, collectionRepository: CollectionRepository { })
✅ ReplaceAsync_Works(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { }, groupRepository: GroupRepository { }, collectionRepository: CollectionRepository { })

✅ Bit.Infrastructure.IntegrationTest.Repositories.OrganizationRepositoryTests

✅ GetByClaimedUserDomainAsync_WithVerifiedDomain_Success(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { }, organizationDomainRepository: OrganizationDomainRepository { })
✅ GetByClaimedUserDomainAsync_WithVerifiedDomain_Success(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { }, organizationDomainRepository: OrganizationDomainRepository { })
✅ GetByClaimedUserDomainAsync_WithVerifiedDomain_Success(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { }, organizationDomainRepository: OrganizationDomainRepository { })
✅ GetByClaimedUserDomainAsync_WithVerifiedDomain_Success(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { }, organizationDomainRepository: OrganizationDomainRepository { })

✅ Bit.Infrastructure.IntegrationTest.Repositories.OrganizationUserRepositoryTests

✅ DeleteAsync_Works(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { })
✅ DeleteAsync_Works(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { })
✅ DeleteAsync_Works(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { })
✅ DeleteAsync_Works(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { })
✅ DeleteManyAsync_Works(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { })
✅ DeleteManyAsync_Works(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { })
✅ DeleteManyAsync_Works(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { })
✅ DeleteManyAsync_Works(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { })
✅ GetManyAccountRecoveryDetailsByOrganizationUserAsync_Works(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { })
✅ GetManyAccountRecoveryDetailsByOrganizationUserAsync_Works(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { })
✅ GetManyAccountRecoveryDetailsByOrganizationUserAsync_Works(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { })
✅ GetManyAccountRecoveryDetailsByOrganizationUserAsync_Works(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { })
✅ GetManyByOrganizationWithClaimedDomainsAsync_WithVerifiedDomain_WithOneMatchingEmailDomain_ReturnsSingle(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { }, organizationDomainRepository: OrganizationDomainRepository { })
✅ GetManyByOrganizationWithClaimedDomainsAsync_WithVerifiedDomain_WithOneMatchingEmailDomain_ReturnsSingle(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { }, organizationDomainRepository: OrganizationDomainRepository { })
✅ GetManyByOrganizationWithClaimedDomainsAsync_WithVerifiedDomain_WithOneMatchingEmailDomain_ReturnsSingle(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { }, organizationDomainRepository: OrganizationDomainRepository { })
✅ GetManyByOrganizationWithClaimedDomainsAsync_WithVerifiedDomain_WithOneMatchingEmailDomain_ReturnsSingle(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { }, organizationDomainRepository: OrganizationDomainRepository { })
✅ GetManyDetailsByUserAsync_Works(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { })
✅ GetManyDetailsByUserAsync_Works(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { })
✅ GetManyDetailsByUserAsync_Works(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { })
✅ GetManyDetailsByUserAsync_Works(userRepository: UserRepository { }, organizationRepository: OrganizationRepository { }, organizationUserRepository: OrganizationUserRepository { })

✅ Bit.Infrastructure.IntegrationTest.Tools.SendRepositoryTests

✅ CreateAsync_Works(sendRepository: SendRepository { })
✅ CreateAsync_Works(sendRepository: SendRepository { })
✅ CreateAsync_Works(sendRepository: SendRepository { })
✅ CreateAsync_Works(sendRepository: SendRepository { })
✅ GetByDeletionDateAsync_Works(sendRepository: SendRepository { })
✅ GetByDeletionDateAsync_Works(sendRepository: SendRepository { })
✅ GetByDeletionDateAsync_Works(sendRepository: SendRepository { })
✅ GetByDeletionDateAsync_Works(sendRepository: SendRepository { })