|
|
|
@ -269,10 +269,6 @@ public class OrganizationServiceTests
|
|
|
|
|
|
|
|
|
|
var result = await sutProvider.Sut.SignUpAsync(signup);
|
|
|
|
|
|
|
|
|
|
// Assert: Organization.FlexibleCollections is enabled
|
|
|
|
|
await sutProvider.GetDependency<IOrganizationRepository>().Received(1)
|
|
|
|
|
.CreateAsync(Arg.Is<Organization>(o => o.FlexibleCollections));
|
|
|
|
|
|
|
|
|
|
// Assert: AccessAll is not used
|
|
|
|
|
await sutProvider.GetDependency<IOrganizationUserRepository>().Received(1).CreateAsync(
|
|
|
|
|
Arg.Is<OrganizationUser>(o =>
|
|
|
|
@ -464,7 +460,7 @@ public class OrganizationServiceTests
|
|
|
|
|
|
|
|
|
|
[Theory]
|
|
|
|
|
[OrganizationInviteCustomize(InviteeUserType = OrganizationUserType.User,
|
|
|
|
|
InvitorUserType = OrganizationUserType.Owner), OrganizationCustomize(FlexibleCollections = false), BitAutoData]
|
|
|
|
|
InvitorUserType = OrganizationUserType.Owner), OrganizationCustomize, BitAutoData]
|
|
|
|
|
public async Task InviteUsers_NoEmails_Throws(Organization organization, OrganizationUser invitor,
|
|
|
|
|
OrganizationUserInvite invite, SutProvider<OrganizationService> sutProvider)
|
|
|
|
|
{
|
|
|
|
@ -477,7 +473,7 @@ public class OrganizationServiceTests
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Theory]
|
|
|
|
|
[OrganizationInviteCustomize, OrganizationCustomize(FlexibleCollections = false), BitAutoData]
|
|
|
|
|
[OrganizationInviteCustomize, OrganizationCustomize, BitAutoData]
|
|
|
|
|
public async Task InviteUsers_DuplicateEmails_PassesWithoutDuplicates(Organization organization, OrganizationUser invitor,
|
|
|
|
|
[OrganizationUser(OrganizationUserStatusType.Confirmed, OrganizationUserType.Owner)] OrganizationUser owner,
|
|
|
|
|
OrganizationUserInvite invite, SutProvider<OrganizationService> sutProvider)
|
|
|
|
@ -520,7 +516,7 @@ public class OrganizationServiceTests
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Theory]
|
|
|
|
|
[OrganizationInviteCustomize, OrganizationCustomize(FlexibleCollections = false), BitAutoData]
|
|
|
|
|
[OrganizationInviteCustomize, OrganizationCustomize, BitAutoData]
|
|
|
|
|
public async Task InviteUsers_SsoOrgWithNullSsoConfig_Passes(Organization organization, OrganizationUser invitor,
|
|
|
|
|
[OrganizationUser(OrganizationUserStatusType.Confirmed, OrganizationUserType.Owner)] OrganizationUser owner,
|
|
|
|
|
OrganizationUserInvite invite, SutProvider<OrganizationService> sutProvider)
|
|
|
|
@ -568,7 +564,7 @@ public class OrganizationServiceTests
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Theory]
|
|
|
|
|
[OrganizationInviteCustomize, OrganizationCustomize(FlexibleCollections = false), BitAutoData]
|
|
|
|
|
[OrganizationInviteCustomize, OrganizationCustomize, BitAutoData]
|
|
|
|
|
public async Task InviteUsers_SsoOrgWithNeverEnabledRequireSsoPolicy_Passes(Organization organization, SsoConfig ssoConfig, OrganizationUser invitor,
|
|
|
|
|
[OrganizationUser(OrganizationUserStatusType.Confirmed, OrganizationUserType.Owner)] OrganizationUser owner,
|
|
|
|
|
OrganizationUserInvite invite, SutProvider<OrganizationService> sutProvider)
|
|
|
|
@ -621,7 +617,7 @@ OrganizationUserInvite invite, SutProvider<OrganizationService> sutProvider)
|
|
|
|
|
[OrganizationInviteCustomize(
|
|
|
|
|
InviteeUserType = OrganizationUserType.Admin,
|
|
|
|
|
InvitorUserType = OrganizationUserType.Owner
|
|
|
|
|
), OrganizationCustomize(FlexibleCollections = false), BitAutoData]
|
|
|
|
|
), OrganizationCustomize, BitAutoData]
|
|
|
|
|
public async Task InviteUsers_NoOwner_Throws(Organization organization, OrganizationUser invitor,
|
|
|
|
|
OrganizationUserInvite invite, SutProvider<OrganizationService> sutProvider)
|
|
|
|
|
{
|
|
|
|
@ -637,7 +633,7 @@ OrganizationUserInvite invite, SutProvider<OrganizationService> sutProvider)
|
|
|
|
|
[OrganizationInviteCustomize(
|
|
|
|
|
InviteeUserType = OrganizationUserType.Owner,
|
|
|
|
|
InvitorUserType = OrganizationUserType.Admin
|
|
|
|
|
), OrganizationCustomize(FlexibleCollections = false), BitAutoData]
|
|
|
|
|
), OrganizationCustomize, BitAutoData]
|
|
|
|
|
public async Task InviteUsers_NonOwnerConfiguringOwner_Throws(Organization organization, OrganizationUserInvite invite,
|
|
|
|
|
OrganizationUser invitor, SutProvider<OrganizationService> sutProvider)
|
|
|
|
|
{
|
|
|
|
@ -656,7 +652,7 @@ OrganizationUserInvite invite, SutProvider<OrganizationService> sutProvider)
|
|
|
|
|
[OrganizationInviteCustomize(
|
|
|
|
|
InviteeUserType = OrganizationUserType.Custom,
|
|
|
|
|
InvitorUserType = OrganizationUserType.User
|
|
|
|
|
), OrganizationCustomize(FlexibleCollections = false), BitAutoData]
|
|
|
|
|
), OrganizationCustomize, BitAutoData]
|
|
|
|
|
public async Task InviteUsers_NonAdminConfiguringAdmin_Throws(Organization organization, OrganizationUserInvite invite,
|
|
|
|
|
OrganizationUser invitor, SutProvider<OrganizationService> sutProvider)
|
|
|
|
|
{
|
|
|
|
@ -677,7 +673,7 @@ OrganizationUserInvite invite, SutProvider<OrganizationService> sutProvider)
|
|
|
|
|
[OrganizationInviteCustomize(
|
|
|
|
|
InviteeUserType = OrganizationUserType.Custom,
|
|
|
|
|
InvitorUserType = OrganizationUserType.Admin
|
|
|
|
|
), OrganizationCustomize(FlexibleCollections = false), BitAutoData]
|
|
|
|
|
), OrganizationCustomize, BitAutoData]
|
|
|
|
|
public async Task InviteUsers_WithCustomType_WhenUseCustomPermissionsIsFalse_Throws(Organization organization, OrganizationUserInvite invite,
|
|
|
|
|
OrganizationUser invitor, SutProvider<OrganizationService> sutProvider)
|
|
|
|
|
{
|
|
|
|
@ -704,7 +700,7 @@ OrganizationUserInvite invite, SutProvider<OrganizationService> sutProvider)
|
|
|
|
|
[OrganizationInviteCustomize(
|
|
|
|
|
InviteeUserType = OrganizationUserType.Custom,
|
|
|
|
|
InvitorUserType = OrganizationUserType.Admin
|
|
|
|
|
), OrganizationCustomize(FlexibleCollections = false), BitAutoData]
|
|
|
|
|
), OrganizationCustomize, BitAutoData]
|
|
|
|
|
public async Task InviteUsers_WithCustomType_WhenUseCustomPermissionsIsTrue_Passes(Organization organization, OrganizationUserInvite invite,
|
|
|
|
|
OrganizationUser invitor, SutProvider<OrganizationService> sutProvider)
|
|
|
|
|
{
|
|
|
|
@ -762,7 +758,7 @@ OrganizationUserInvite invite, SutProvider<OrganizationService> sutProvider)
|
|
|
|
|
[OrganizationInviteCustomize(
|
|
|
|
|
InviteeUserType = OrganizationUserType.User,
|
|
|
|
|
InvitorUserType = OrganizationUserType.Custom
|
|
|
|
|
), OrganizationCustomize(FlexibleCollections = false), BitAutoData]
|
|
|
|
|
), OrganizationCustomize, BitAutoData]
|
|
|
|
|
public async Task InviteUsers_CustomUserWithoutManageUsersConfiguringUser_Throws(Organization organization, OrganizationUserInvite invite,
|
|
|
|
|
OrganizationUser invitor, SutProvider<OrganizationService> sutProvider)
|
|
|
|
|
{
|
|
|
|
@ -790,7 +786,7 @@ OrganizationUserInvite invite, SutProvider<OrganizationService> sutProvider)
|
|
|
|
|
[OrganizationInviteCustomize(
|
|
|
|
|
InviteeUserType = OrganizationUserType.Admin,
|
|
|
|
|
InvitorUserType = OrganizationUserType.Custom
|
|
|
|
|
), OrganizationCustomize(FlexibleCollections = false), BitAutoData]
|
|
|
|
|
), OrganizationCustomize, BitAutoData]
|
|
|
|
|
public async Task InviteUsers_CustomUserConfiguringAdmin_Throws(Organization organization, OrganizationUserInvite invite,
|
|
|
|
|
OrganizationUser invitor, SutProvider<OrganizationService> sutProvider)
|
|
|
|
|
{
|
|
|
|
@ -816,7 +812,7 @@ OrganizationUserInvite invite, SutProvider<OrganizationService> sutProvider)
|
|
|
|
|
[OrganizationInviteCustomize(
|
|
|
|
|
InviteeUserType = OrganizationUserType.User,
|
|
|
|
|
InvitorUserType = OrganizationUserType.Owner
|
|
|
|
|
), OrganizationCustomize(FlexibleCollections = false), BitAutoData]
|
|
|
|
|
), OrganizationCustomize, BitAutoData]
|
|
|
|
|
public async Task InviteUsers_NoPermissionsObject_Passes(Organization organization, OrganizationUserInvite invite,
|
|
|
|
|
OrganizationUser invitor, SutProvider<OrganizationService> sutProvider)
|
|
|
|
|
{
|
|
|
|
@ -892,7 +888,7 @@ OrganizationUserInvite invite, SutProvider<OrganizationService> sutProvider)
|
|
|
|
|
[OrganizationInviteCustomize(
|
|
|
|
|
InviteeUserType = OrganizationUserType.User,
|
|
|
|
|
InvitorUserType = OrganizationUserType.Custom
|
|
|
|
|
), OrganizationCustomize(FlexibleCollections = false), BitAutoData]
|
|
|
|
|
), OrganizationCustomize, BitAutoData]
|
|
|
|
|
public async Task InviteUser_InvitingMoreThanOneUser_Throws(Organization organization, OrganizationUserInvite invite, string externalId,
|
|
|
|
|
OrganizationUser invitor,
|
|
|
|
|
SutProvider<OrganizationService> sutProvider)
|
|
|
|
@ -912,7 +908,7 @@ OrganizationUserInvite invite, SutProvider<OrganizationService> sutProvider)
|
|
|
|
|
[OrganizationInviteCustomize(
|
|
|
|
|
InviteeUserType = OrganizationUserType.User,
|
|
|
|
|
InvitorUserType = OrganizationUserType.Custom
|
|
|
|
|
), OrganizationCustomize(FlexibleCollections = false), BitAutoData]
|
|
|
|
|
), OrganizationCustomize, BitAutoData]
|
|
|
|
|
public async Task InviteUser_UserAlreadyInvited_Throws(Organization organization, OrganizationUserInvite invite, string externalId,
|
|
|
|
|
OrganizationUser invitor,
|
|
|
|
|
[OrganizationUser(OrganizationUserStatusType.Confirmed, OrganizationUserType.Owner)] OrganizationUser owner,
|
|
|
|
@ -994,7 +990,7 @@ OrganizationUserInvite invite, SutProvider<OrganizationService> sutProvider)
|
|
|
|
|
[OrganizationInviteCustomize(
|
|
|
|
|
InviteeUserType = OrganizationUserType.User,
|
|
|
|
|
InvitorUserType = OrganizationUserType.Custom
|
|
|
|
|
), OrganizationCustomize(FlexibleCollections = false), BitAutoData]
|
|
|
|
|
), OrganizationCustomize, BitAutoData]
|
|
|
|
|
public async Task InviteUsers_Passes(Organization organization, IEnumerable<(OrganizationUserInvite invite, string externalId)> invites,
|
|
|
|
|
OrganizationUser invitor,
|
|
|
|
|
[OrganizationUser(OrganizationUserStatusType.Confirmed, OrganizationUserType.Owner)] OrganizationUser owner,
|
|
|
|
@ -1041,7 +1037,7 @@ OrganizationUserInvite invite, SutProvider<OrganizationService> sutProvider)
|
|
|
|
|
[OrganizationInviteCustomize(
|
|
|
|
|
InviteeUserType = OrganizationUserType.User,
|
|
|
|
|
InvitorUserType = OrganizationUserType.Custom
|
|
|
|
|
), OrganizationCustomize(FlexibleCollections = false), BitAutoData]
|
|
|
|
|
), OrganizationCustomize, BitAutoData]
|
|
|
|
|
public async Task InviteUsers_WithEventSystemUser_Passes(Organization organization, EventSystemUser eventSystemUser, IEnumerable<(OrganizationUserInvite invite, string externalId)> invites,
|
|
|
|
|
OrganizationUser invitor,
|
|
|
|
|
[OrganizationUser(OrganizationUserStatusType.Confirmed, OrganizationUserType.Owner)] OrganizationUser owner,
|
|
|
|
@ -1091,7 +1087,7 @@ OrganizationUserInvite invite, SutProvider<OrganizationService> sutProvider)
|
|
|
|
|
await sutProvider.GetDependency<IEventService>().Received(1).LogOrganizationUserEventsAsync(Arg.Any<IEnumerable<(OrganizationUser, EventType, EventSystemUser, DateTime?)>>());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Theory, BitAutoData, OrganizationCustomize(FlexibleCollections = false), OrganizationInviteCustomize]
|
|
|
|
|
[Theory, BitAutoData, OrganizationCustomize, OrganizationInviteCustomize]
|
|
|
|
|
public async Task InviteUsers_WithSecretsManager_Passes(Organization organization,
|
|
|
|
|
IEnumerable<(OrganizationUserInvite invite, string externalId)> invites,
|
|
|
|
|
OrganizationUser savingUser, SutProvider<OrganizationService> sutProvider)
|
|
|
|
@ -1125,7 +1121,7 @@ OrganizationUserInvite invite, SutProvider<OrganizationService> sutProvider)
|
|
|
|
|
!update.MaxAutoscaleSmSeatsChanged));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Theory, BitAutoData, OrganizationCustomize(FlexibleCollections = false), OrganizationInviteCustomize]
|
|
|
|
|
[Theory, BitAutoData, OrganizationCustomize, OrganizationInviteCustomize]
|
|
|
|
|
public async Task InviteUsers_WithSecretsManager_WhenErrorIsThrown_RevertsAutoscaling(Organization organization,
|
|
|
|
|
IEnumerable<(OrganizationUserInvite invite, string externalId)> invites,
|
|
|
|
|
OrganizationUser savingUser, SutProvider<OrganizationService> sutProvider)
|
|
|
|
|