using System.Linq.Expressions; using System.Net; using System.Net.Http.Json; using Umbraco.Cms.Api.Management.Controllers.User; using Umbraco.Cms.Api.Management.ViewModels; using Umbraco.Cms.Api.Management.ViewModels.User; namespace Umbraco.Cms.Tests.Integration.ManagementApi.User; public class ResendInviteUserControllerTests : ManagementApiUserGroupTestBase { protected override Expression> MethodSelector => x => x.ResendInvite(CancellationToken.None, null); protected override UserGroupAssertionModel AdminUserGroupAssertionModel => new() { ExpectedStatusCode = HttpStatusCode.NotFound }; protected override UserGroupAssertionModel EditorUserGroupAssertionModel => new() { ExpectedStatusCode = HttpStatusCode.Forbidden }; protected override UserGroupAssertionModel SensitiveDataUserGroupAssertionModel => new() { ExpectedStatusCode = HttpStatusCode.Forbidden }; protected override UserGroupAssertionModel TranslatorUserGroupAssertionModel => new() { ExpectedStatusCode = HttpStatusCode.Forbidden }; protected override UserGroupAssertionModel WriterUserGroupAssertionModel => new() { ExpectedStatusCode = HttpStatusCode.Forbidden }; protected override UserGroupAssertionModel UnauthorizedUserGroupAssertionModel => new() { ExpectedStatusCode = HttpStatusCode.Unauthorized }; protected override async Task ClientRequest() { ResendInviteUserRequestModel resendInviteUserRequestModel = new() { User = new ReferenceByIdModel(Guid.Empty), Message = "Welcome to Umbraco!", }; return await Client.PostAsync(Url, JsonContent.Create(resendInviteUserRequestModel)); } }