mirror of
https://github.com/alex289/CleanArchitecture.git
synced 2025-06-30 10:33:43 +00:00
chore: Cleanup
This commit is contained in:
parent
9ba530417c
commit
f6ffb4b62e
@ -56,7 +56,6 @@ public sealed class UserController : ApiController
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[AllowAnonymous]
|
||||
[SwaggerOperation("Create a new user")]
|
||||
[SwaggerResponse(200, "Request successful", typeof(ResponseMessage<Guid>))]
|
||||
public async Task<IActionResult> CreateUserAsync([FromBody] CreateUserViewModel viewModel)
|
||||
|
@ -1,7 +1,9 @@
|
||||
using System;
|
||||
using CleanArchitecture.Domain.Commands.Users.CreateUser;
|
||||
using CleanArchitecture.Domain.Enums;
|
||||
using CleanArchitecture.Domain.Errors;
|
||||
using CleanArchitecture.Domain.Events.User;
|
||||
using NSubstitute;
|
||||
using Xunit;
|
||||
|
||||
namespace CleanArchitecture.Domain.Tests.CommandHandler.User.CreateUser;
|
||||
@ -13,7 +15,6 @@ public sealed class CreateUserCommandHandlerTests
|
||||
[Fact]
|
||||
public void Should_Create_User()
|
||||
{
|
||||
// Todo: Fix tests
|
||||
_fixture.SetupCurrentUser();
|
||||
|
||||
var user = _fixture.SetupUser();
|
||||
@ -60,6 +61,41 @@ public sealed class CreateUserCommandHandlerTests
|
||||
DomainErrorCodes.User.UserAlreadyExists,
|
||||
$"There is already a user with Id {command.UserId}");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Should_Not_Create_Already_Existing_Email()
|
||||
{
|
||||
_fixture.SetupCurrentUser();
|
||||
|
||||
_fixture.UserRepository
|
||||
.GetByEmailAsync(Arg.Is<string>(y => y == "test@email.com"))
|
||||
.Returns(new Entities.User(
|
||||
Guid.NewGuid(),
|
||||
Guid.NewGuid(),
|
||||
"max@mustermann.com",
|
||||
"Max",
|
||||
"Mustermann",
|
||||
"Password",
|
||||
UserRole.User));
|
||||
|
||||
var command = new CreateUserCommand(
|
||||
Guid.NewGuid(),
|
||||
Guid.NewGuid(),
|
||||
"test@email.com",
|
||||
"Test",
|
||||
"Email",
|
||||
"Po=PF]PC6t.?8?ks)A6W");
|
||||
|
||||
_fixture.CommandHandler.Handle(command, default).Wait();
|
||||
|
||||
_fixture
|
||||
.VerifyNoCommit()
|
||||
.VerifyNoRaisedEvent<UserCreatedEvent>()
|
||||
.VerifyAnyDomainNotification()
|
||||
.VerifyExistingNotification(
|
||||
DomainErrorCodes.User.UserAlreadyExists,
|
||||
$"There is already a user with email {command.Email}");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Should_Not_Create_User_Tenant_Does_Not_Exist()
|
||||
|
@ -1,7 +1,6 @@
|
||||
using System;
|
||||
using CleanArchitecture.Domain.Commands.Users.CreateUser;
|
||||
using CleanArchitecture.Domain.Enums;
|
||||
using CleanArchitecture.Domain.Interfaces;
|
||||
using CleanArchitecture.Domain.Interfaces.Repositories;
|
||||
using NSubstitute;
|
||||
|
||||
@ -10,15 +9,13 @@ namespace CleanArchitecture.Domain.Tests.CommandHandler.User.CreateUser;
|
||||
public sealed class CreateUserCommandTestFixture : CommandHandlerFixtureBase
|
||||
{
|
||||
public CreateUserCommandHandler CommandHandler { get; }
|
||||
private IUserRepository UserRepository { get; }
|
||||
public IUserRepository UserRepository { get; }
|
||||
private ITenantRepository TenantRepository { get; }
|
||||
private IUser User { get; }
|
||||
|
||||
public CreateUserCommandTestFixture()
|
||||
{
|
||||
UserRepository = Substitute.For<IUserRepository>();
|
||||
TenantRepository = Substitute.For<ITenantRepository>();
|
||||
User = Substitute.For<IUser>();
|
||||
|
||||
CommandHandler = new CreateUserCommandHandler(
|
||||
Bus,
|
||||
|
@ -42,4 +42,24 @@ public sealed class DeleteUserCommandHandlerTests
|
||||
ErrorCodes.ObjectNotFound,
|
||||
$"There is no user with Id {command.UserId}");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Should_Not_Delete_User_Insufficient_Permissions()
|
||||
{
|
||||
var user = _fixture.SetupUser();
|
||||
|
||||
_fixture.SetupCurrentUser();
|
||||
|
||||
var command = new DeleteUserCommand(user.Id);
|
||||
|
||||
_fixture.CommandHandler.Handle(command, default).Wait();
|
||||
|
||||
_fixture
|
||||
.VerifyNoCommit()
|
||||
.VerifyNoRaisedEvent<UserDeletedEvent>()
|
||||
.VerifyAnyDomainNotification()
|
||||
.VerifyExistingNotification(
|
||||
ErrorCodes.InsufficientPermissions,
|
||||
$"No permission to delete user {command.UserId}");
|
||||
}
|
||||
}
|
@ -40,4 +40,9 @@ public sealed class DeleteUserCommandTestFixture : CommandHandlerFixtureBase
|
||||
|
||||
return user;
|
||||
}
|
||||
|
||||
public void SetupCurrentUser()
|
||||
{
|
||||
User.GetUserRole().Returns(UserRole.User);
|
||||
}
|
||||
}
|
@ -57,7 +57,7 @@ public sealed class CleanArchitectureWebApplicationFactory : WebApplicationFacto
|
||||
{
|
||||
options.DefaultAuthenticateScheme = "Testing";
|
||||
options.DefaultChallengeScheme = "Testing";
|
||||
}).AddTestAuthentication(options => { });
|
||||
}).AddTestAuthentication(_ => { });
|
||||
}
|
||||
|
||||
var sp = services.BuildServiceProvider();
|
||||
|
Loading…
Reference in New Issue
Block a user