You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
2.4 KiB
67 lines
2.4 KiB
using Bit.Core.AdminConsole.OrganizationFeatures.OrganizationUsers.InviteUsers.Models; |
|
using Bit.Core.Enums; |
|
using Bit.Core.Exceptions; |
|
using Bit.Core.Models.Data; |
|
using Bit.Test.Common.AutoFixture.Attributes; |
|
using Xunit; |
|
|
|
using static Bit.Core.AdminConsole.OrganizationFeatures.OrganizationUsers.InviteUsers.Models.InviteOrganizationUserErrorMessages; |
|
|
|
namespace Bit.Core.Test.AdminConsole.Models; |
|
|
|
public class InviteOrganizationUsersRequestTests |
|
{ |
|
[Theory] |
|
[BitAutoData] |
|
public void Constructor_WhenPassedInvalidEmail_ThrowsException(string email, OrganizationUserType type, Permissions permissions, string externalId) |
|
{ |
|
var exception = Assert.Throws<BadRequestException>(() => |
|
new OrganizationUserInvite(email, [], [], type, permissions, externalId, false)); |
|
|
|
Assert.Contains(InvalidEmailErrorMessage, exception.Message); |
|
} |
|
|
|
[Fact] |
|
public void Constructor_WhenPassedInvalidCollectionAccessConfiguration_ThrowsException() |
|
{ |
|
const string validEmail = "test@email.com"; |
|
|
|
var invalidCollectionConfiguration = new CollectionAccessSelection |
|
{ |
|
Manage = true, |
|
HidePasswords = true |
|
}; |
|
|
|
var exception = Assert.Throws<BadRequestException>(() => |
|
new OrganizationUserInvite( |
|
email: validEmail, |
|
assignedCollections: [invalidCollectionConfiguration], |
|
groups: [], |
|
type: default, |
|
permissions: new Permissions(), |
|
externalId: string.Empty, |
|
accessSecretsManager: false)); |
|
|
|
Assert.Equal(InvalidCollectionConfigurationErrorMessage, exception.Message); |
|
} |
|
|
|
[Fact] |
|
public void Constructor_WhenPassedValidArguments_ReturnsInvite() |
|
{ |
|
const string validEmail = "test@email.com"; |
|
var validCollectionConfiguration = new CollectionAccessSelection { Id = Guid.NewGuid(), Manage = true }; |
|
|
|
var invite = new OrganizationUserInvite( |
|
email: validEmail, |
|
assignedCollections: [validCollectionConfiguration], |
|
groups: [], |
|
type: default, |
|
permissions: null, |
|
externalId: null, |
|
accessSecretsManager: false); |
|
|
|
Assert.NotNull(invite); |
|
Assert.Contains(validEmail, invite.Email); |
|
Assert.Contains(validCollectionConfiguration, invite.AssignedCollections); |
|
} |
|
}
|
|
|