1
0
mirror of https://github.com/bitwarden/server.git synced 2025-07-02 08:32:50 -05:00

[PM-14243] Free organization limit is not enforced when editing user (#5155)

* Enforce free organization limit when updating user

* Add test for throwing error on accepting admin user joining multiple free organizations

* Add test for throwing BadRequest when free organization admin attempts to sign up for another free organization

* Fix user ID handling in UpdateOrganizationUserCommand for free organizations

* Rename parameter 'user' to 'organizationUser' in UpdateUserAsync method for clarity
This commit is contained in:
Rui Tomé
2025-01-21 10:15:02 +00:00
committed by GitHub
parent 9efcbec041
commit edb74add50
5 changed files with 113 additions and 19 deletions

View File

@ -242,4 +242,27 @@ public class CloudICloudOrganizationSignUpCommandTests
() => sutProvider.Sut.SignUpOrganizationAsync(signup));
Assert.Contains("You can't subtract Machine Accounts!", exception.Message);
}
[Theory]
[BitAutoData]
public async Task SignUpAsync_Free_ExistingFreeOrgAdmin_ThrowsBadRequest(
SutProvider<CloudOrganizationSignUpCommand> sutProvider)
{
// Arrange
var signup = new OrganizationSignup
{
Plan = PlanType.Free,
IsFromProvider = false,
Owner = new User { Id = Guid.NewGuid() }
};
sutProvider.GetDependency<IOrganizationUserRepository>()
.GetCountByFreeOrganizationAdminUserAsync(signup.Owner.Id)
.Returns(1);
// Act & Assert
var exception = await Assert.ThrowsAsync<BadRequestException>(
() => sutProvider.Sut.SignUpOrganizationAsync(signup));
Assert.Contains("You can only be an admin of one free organization.", exception.Message);
}
}