mirror of
https://github.com/bitwarden/server.git
synced 2025-06-30 23:52:50 -05:00
[PM-12074] - Refactored Index
to use UserViewModel
(#4797)
* Refactored View and Edit models to have all needed fields.
This commit is contained in:
@ -18,5 +18,6 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\src\Admin\Admin.csproj" />
|
||||
<ProjectReference Include="..\Common\Common.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
108
test/Admin.Test/Models/UserViewModelTests.cs
Normal file
108
test/Admin.Test/Models/UserViewModelTests.cs
Normal file
@ -0,0 +1,108 @@
|
||||
#nullable enable
|
||||
|
||||
using Bit.Admin.Models;
|
||||
using Bit.Core.Entities;
|
||||
using Bit.Test.Common.AutoFixture.Attributes;
|
||||
|
||||
namespace Admin.Test.Models;
|
||||
|
||||
public class UserViewModelTests
|
||||
{
|
||||
[Theory]
|
||||
[BitAutoData]
|
||||
public void IsTwoFactorEnabled_GivenUserAndIsInLookup_WhenUserHasTwoFactorEnabled_ThenReturnsTrue(User user)
|
||||
{
|
||||
var lookup = new List<(Guid, bool)>
|
||||
{
|
||||
(user.Id, true)
|
||||
};
|
||||
|
||||
var actual = UserViewModel.IsTwoFactorEnabled(user, lookup);
|
||||
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[BitAutoData]
|
||||
public void IsTwoFactorEnabled_GivenUserAndIsInLookup_WhenUserDoesNotHaveTwoFactorEnabled_ThenReturnsFalse(User user)
|
||||
{
|
||||
var lookup = new List<(Guid, bool)>
|
||||
{
|
||||
(Guid.NewGuid(), true)
|
||||
};
|
||||
|
||||
var actual = UserViewModel.IsTwoFactorEnabled(user, lookup);
|
||||
|
||||
Assert.False(actual);
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[BitAutoData]
|
||||
public void IsTwoFactorEnabled_GivenUserAndIsNotInLookup_WhenUserDoesNotHaveTwoFactorEnabled_ThenReturnsFalse(User user)
|
||||
{
|
||||
var lookup = new List<(Guid, bool)>();
|
||||
|
||||
var actual = UserViewModel.IsTwoFactorEnabled(user, lookup);
|
||||
|
||||
Assert.False(actual);
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[BitAutoData]
|
||||
public void MapUserViewModel_GivenUser_WhenPopulated_ThenMapsToUserViewModel(User user)
|
||||
{
|
||||
var actual = UserViewModel.MapViewModel(user, true);
|
||||
|
||||
Assert.Equal(actual.Id, user.Id);
|
||||
Assert.Equal(actual.Email, user.Email);
|
||||
Assert.Equal(actual.CreationDate, user.CreationDate);
|
||||
Assert.Equal(actual.PremiumExpirationDate, user.PremiumExpirationDate);
|
||||
Assert.Equal(actual.Premium, user.Premium);
|
||||
Assert.Equal(actual.MaxStorageGb, user.MaxStorageGb);
|
||||
Assert.Equal(actual.EmailVerified, user.EmailVerified);
|
||||
Assert.True(actual.TwoFactorEnabled);
|
||||
Assert.Equal(actual.AccountRevisionDate, user.AccountRevisionDate);
|
||||
Assert.Equal(actual.RevisionDate, user.RevisionDate);
|
||||
Assert.Equal(actual.LastEmailChangeDate, user.LastEmailChangeDate);
|
||||
Assert.Equal(actual.LastKdfChangeDate, user.LastKdfChangeDate);
|
||||
Assert.Equal(actual.LastKeyRotationDate, user.LastKeyRotationDate);
|
||||
Assert.Equal(actual.LastPasswordChangeDate, user.LastPasswordChangeDate);
|
||||
Assert.Equal(actual.Gateway, user.Gateway);
|
||||
Assert.Equal(actual.GatewayCustomerId, user.GatewayCustomerId);
|
||||
Assert.Equal(actual.GatewaySubscriptionId, user.GatewaySubscriptionId);
|
||||
Assert.Equal(actual.LicenseKey, user.LicenseKey);
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[BitAutoData]
|
||||
public void MapUserViewModel_GivenUserWithTwoFactorEnabled_WhenPopulated_ThenMapsToUserViewModel(User user)
|
||||
{
|
||||
var lookup = new List<(Guid, bool)> { (user.Id, true) };
|
||||
|
||||
var actual = UserViewModel.MapViewModel(user, lookup);
|
||||
|
||||
Assert.True(actual.TwoFactorEnabled);
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[BitAutoData]
|
||||
public void MapUserViewModel_GivenUserWithoutTwoFactorEnabled_WhenPopulated_ThenTwoFactorIsEnabled(User user)
|
||||
{
|
||||
var lookup = new List<(Guid, bool)> { (user.Id, false) };
|
||||
|
||||
var actual = UserViewModel.MapViewModel(user, lookup);
|
||||
|
||||
Assert.False(actual.TwoFactorEnabled);
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[BitAutoData]
|
||||
public void MapUserViewModel_GivenUser_WhenNotInLookUpList_ThenTwoFactorIsDisabled(User user)
|
||||
{
|
||||
var lookup = new List<(Guid, bool)> { (Guid.NewGuid(), true) };
|
||||
|
||||
var actual = UserViewModel.MapViewModel(user, lookup);
|
||||
|
||||
Assert.False(actual.TwoFactorEnabled);
|
||||
}
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
namespace Admin.Test;
|
||||
|
||||
// Delete this file once you have real tests
|
||||
public class PlaceholderUnitTest
|
||||
{
|
||||
[Fact]
|
||||
public void Test1()
|
||||
{
|
||||
}
|
||||
}
|
@ -35,7 +35,7 @@ public class OrganizationUsersControllerTests
|
||||
{
|
||||
[Theory]
|
||||
[BitAutoData]
|
||||
public async Task PutResetPasswordEnrollment_InivitedUser_AcceptsInvite(Guid orgId, Guid userId, OrganizationUserResetPasswordEnrollmentRequestModel model,
|
||||
public async Task PutResetPasswordEnrollment_InvitedUser_AcceptsInvite(Guid orgId, Guid userId, OrganizationUserResetPasswordEnrollmentRequestModel model,
|
||||
User user, OrganizationUser orgUser, SutProvider<OrganizationUsersController> sutProvider)
|
||||
{
|
||||
orgUser.Status = Core.Enums.OrganizationUserStatusType.Invited;
|
||||
|
Reference in New Issue
Block a user