mirror of
https://github.com/bitwarden/server
synced 2026-02-25 08:53:21 +00:00
* Add validation for reset password key and account recovery enrollment in OrganizationUser * Update admin approval logic to check account recovery enrollment and add tests for reset password key validation * Enhance UserService validation to include account recovery enrollment and add unit test for empty or whitespace reset password key handling * Refactor OrganizationUserUserDetailsQuery to validate reset password keys and add unit tests for filtering out invalid keys * Update AdminRecoverAccountCommand to validate account recovery enrollment and adjust tests for whitespace reset password keys * Enhance OrganizationUserRotationValidator to validate reset password keys, including filtering out whitespace-only keys, and add corresponding unit tests for validation logic. * Refactor OrganizationUserUserDetailsQueryTests to remove unnecessary whitespace-only test cases for account recovery key validation. * Refactor MemberResponseModel to use OrganizationUser's validation method for ResetPasswordEnrolled status and update corresponding unit test for clarity. * Refactor OrganizationUsersController and response models to utilize OrganizationUser's validation method for ResetPasswordKey, ensuring consistent validation across the application. Add unit tests for OrganizationUser to verify key validation logic. * Update OrganizationUserRotationValidator to handle null reset password keys and adjust tests for client-side bug. Add comments for future migration after resolving PM-31001. * Fix whitespace issue in UserServiceTests.cs by removing BOM character from the file header.
46 lines
1.2 KiB
C#
46 lines
1.2 KiB
C#
using Bit.Api.AdminConsole.Public.Models.Response;
|
|
using Bit.Core.Entities;
|
|
using Bit.Core.Models.Data;
|
|
using NSubstitute;
|
|
using Xunit;
|
|
|
|
namespace Bit.Api.Test.AdminConsole.Public.Models.Response;
|
|
|
|
|
|
public class MemberResponseModelTests
|
|
{
|
|
[Fact]
|
|
public void ResetPasswordEnrolled_ShouldBeTrue_WhenUserIsResetPasswordEnrolled()
|
|
{
|
|
// Arrange
|
|
var user = Substitute.For<OrganizationUser>();
|
|
var collections = Substitute.For<IEnumerable<CollectionAccessSelection>>();
|
|
user.ResetPasswordKey = "none-empty";
|
|
|
|
// Act
|
|
var sut = new MemberResponseModel(user, collections);
|
|
|
|
// Assert
|
|
Assert.True(sut.ResetPasswordEnrolled);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData(null)]
|
|
[InlineData("")]
|
|
[InlineData(" ")]
|
|
public void ResetPasswordEnrolled_ShouldBeFalse_WhenResetPasswordKeyIsInvalid(string? resetPasswordKey)
|
|
{
|
|
// Arrange
|
|
var user = Substitute.For<OrganizationUser>();
|
|
user.ResetPasswordKey = resetPasswordKey;
|
|
|
|
var collections = Substitute.For<IEnumerable<CollectionAccessSelection>>();
|
|
|
|
// Act
|
|
var sut = new MemberResponseModel(user, collections);
|
|
|
|
// Assert
|
|
Assert.False(sut.ResetPasswordEnrolled);
|
|
}
|
|
}
|