mirror of https://github.com/Squidex/squidex.git
2 changed files with 129 additions and 0 deletions
@ -0,0 +1,124 @@ |
|||
// ==========================================================================
|
|||
// Squidex Headless CMS
|
|||
// ==========================================================================
|
|||
// Copyright (c) Squidex UG (haftungsbeschraenkt)
|
|||
// All rights reserved. Licensed under the MIT license.
|
|||
// ==========================================================================
|
|||
|
|||
using Squidex.ClientLibrary.Management; |
|||
using TestSuite.Fixtures; |
|||
|
|||
#pragma warning disable SA1300 // Element should begin with upper-case letter
|
|||
#pragma warning disable SA1507 // Code should not contain multiple blank lines in a row
|
|||
|
|||
namespace TestSuite.ApiTests |
|||
{ |
|||
public sealed class AdminUsersTests : IClassFixture<ClientFixture> |
|||
{ |
|||
private readonly string email = $"{Guid.NewGuid()}@squidex.io"; |
|||
|
|||
public ClientFixture _ { get; } |
|||
|
|||
public AdminUsersTests(ClientFixture fixture) |
|||
{ |
|||
_ = fixture; |
|||
} |
|||
|
|||
[Fact] |
|||
public async Task Should_create_user() |
|||
{ |
|||
// STEP 1: Create user.
|
|||
var user_0 = await CreateUserAsync(); |
|||
|
|||
Assert.Equal(email, user_0.Email); |
|||
Assert.Equal(email, user_0.DisplayName); |
|||
|
|||
|
|||
// STEP 2: Get user by ID.
|
|||
var userById = await _.UserManagement.GetUserAsync(user_0.Id); |
|||
|
|||
Assert.Equal(email, userById.Email); |
|||
Assert.Equal(email, userById.DisplayName); |
|||
|
|||
|
|||
// STEP 2: Get users by email.
|
|||
var usersByEmail = await _.UserManagement.GetUsersAsync(user_0.Email); |
|||
|
|||
Assert.Equal(email, usersByEmail.Items.First().Email); |
|||
Assert.Equal(email, usersByEmail.Items.First().DisplayName); |
|||
} |
|||
|
|||
[Fact] |
|||
public async Task Should_update_user() |
|||
{ |
|||
// STEP 0: Create user.
|
|||
var user_0 = await CreateUserAsync(); |
|||
|
|||
|
|||
// STEP 2: Update user.
|
|||
var updateRequest = new UpdateUserDto |
|||
{ |
|||
DisplayName = Guid.NewGuid().ToString(), |
|||
// The API requests to also set the email address.
|
|||
Email = email, |
|||
}; |
|||
|
|||
var user_1 = await _.UserManagement.PutUserAsync(user_0.Id, updateRequest); |
|||
|
|||
Assert.Equal(updateRequest.DisplayName, user_1.DisplayName); |
|||
} |
|||
|
|||
[Fact] |
|||
public async Task Should_lock_user() |
|||
{ |
|||
// STEP 0: Create user.
|
|||
var user_0 = await CreateUserAsync(); |
|||
|
|||
|
|||
// STEP 1: Lock user.
|
|||
var user_1 = await _.UserManagement.LockUserAsync(user_0.Id); |
|||
|
|||
Assert.True(user_1.IsLocked); |
|||
|
|||
|
|||
// STEP 2: Unlock user.
|
|||
var user_2 = await _.UserManagement.UnlockUserAsync(user_0.Id); |
|||
|
|||
Assert.False(user_2.IsLocked); |
|||
} |
|||
|
|||
[Fact] |
|||
public async Task Should_delete_user() |
|||
{ |
|||
// STEP 0: Create user.
|
|||
var user_0 = await CreateUserAsync(); |
|||
|
|||
Assert.Equal(email, user_0.Email); |
|||
Assert.Equal(email, user_0.DisplayName); |
|||
|
|||
|
|||
// STEP 1: Delete user
|
|||
await _.UserManagement.DeleteUserAsync(user_0.Id); |
|||
|
|||
|
|||
// STEP 2: Get user by email.
|
|||
var usersByEmail = await _.UserManagement.GetUsersAsync(user_0.Email); |
|||
|
|||
Assert.Empty(usersByEmail.Items); |
|||
} |
|||
|
|||
private async Task<UserDto> CreateUserAsync() |
|||
{ |
|||
var createRequest = new CreateUserDto |
|||
{ |
|||
Email = email, |
|||
Password = "1q2w3e$R", |
|||
Permissions = new List<string>(), |
|||
// The API requests to also set the display name.
|
|||
DisplayName = email, |
|||
}; |
|||
|
|||
return await _.UserManagement.PostUserAsync(createRequest); |
|||
} |
|||
} |
|||
} |
|||
Loading…
Reference in new issue