mirror of
https://github.com/bitwarden/server.git
synced 2025-04-05 05:00:19 -05:00
53 lines
2.1 KiB
C#
53 lines
2.1 KiB
C#
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 InviteOrganizationUserRequestTests
|
|
{
|
|
[Theory]
|
|
[BitAutoData]
|
|
public void Create_WhenPassedInvalidEmail_ThrowsException(string email, OrganizationUserType type, Permissions permissions)
|
|
{
|
|
var action = () => new OrganizationUserSingleEmailInvite(email, [], type, permissions);
|
|
|
|
var exception = Assert.Throws<BadRequestException>(action);
|
|
|
|
Assert.Equal(InvalidEmailErrorMessage, exception.Message);
|
|
}
|
|
|
|
[Theory]
|
|
[BitAutoData]
|
|
public void Create_WhenPassedInvalidCollectionAccessConfiguration_ThrowsException(OrganizationUserType type, Permissions permissions)
|
|
{
|
|
var validEmail = "test@email.com";
|
|
|
|
var invalidCollectionConfiguration = new CollectionAccessSelection { Manage = true, HidePasswords = true };
|
|
|
|
var action = () => new OrganizationUserSingleEmailInvite(validEmail, [invalidCollectionConfiguration], type, permissions);
|
|
|
|
var exception = Assert.Throws<BadRequestException>(action);
|
|
|
|
Assert.Equal(InvalidCollectionConfigurationErrorMessage, exception.Message);
|
|
}
|
|
|
|
[Theory]
|
|
[BitAutoData]
|
|
public void Create_WhenPassedValidArguments_ReturnsInvite(OrganizationUserType type, Permissions permissions)
|
|
{
|
|
const string validEmail = "test@email.com";
|
|
var validCollectionConfiguration = new CollectionAccessSelection { Id = Guid.NewGuid(), Manage = true };
|
|
|
|
var invite = new OrganizationUserSingleEmailInvite(validEmail, [validCollectionConfiguration], type, permissions);
|
|
|
|
Assert.NotNull(invite);
|
|
Assert.Equal(validEmail, invite.Email);
|
|
Assert.Contains(validCollectionConfiguration, invite.AccessibleCollections);
|
|
}
|
|
}
|