Skip to content

Commit bbabad3

Browse files
CreateUserCommandHandler unit test.
1 parent afcced8 commit bbabad3

File tree

2 files changed

+44
-1
lines changed

2 files changed

+44
-1
lines changed

src/Infrastructure/Persistance/CommandHandlers/Users/CreateUserCommandHandler.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
namespace CleanTemplate.Persistance.CommandHandlers.Users
1111
{
12-
internal class CreateUserCommandHandler : IRequestHandler<CreateUserCommand, bool>
12+
public class CreateUserCommandHandler : IRequestHandler<CreateUserCommand, bool>
1313
{
1414
private readonly UserManager<User> _userManager;
1515
private readonly RoleManager<Role> _roleManager;
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
using CleanTemplate.Common.Exceptions;
2+
using CleanTemplate.Domain.Entities.Users;
3+
using CleanTemplate.Persistance.CommandHandlers.Users;
4+
using Microsoft.AspNetCore.Identity;
5+
using Moq;
6+
using System.Threading;
7+
using System.Threading.Tasks;
8+
using Xunit;
9+
10+
namespace CleanTemplate.CommandHandler.Test
11+
{
12+
public class CreateUserCommandHandlerTest
13+
{
14+
[Fact]
15+
public async Task Should_ThrowException_When_InputIsNull()
16+
{
17+
// Arrange
18+
var userStore = new Mock<IUserStore<User>>();
19+
userStore.Setup(x => x.FindByIdAsync("123", CancellationToken.None))
20+
.ReturnsAsync(new User()
21+
{
22+
UserName = "testUserName",
23+
Id = 123
24+
});
25+
26+
var roleStore = new Mock<IRoleStore<Role>>();
27+
roleStore.Setup(x => x.FindByIdAsync("123", CancellationToken.None))
28+
.ReturnsAsync(new Role()
29+
{
30+
Name = "testRole",
31+
Id = 123,
32+
33+
});
34+
35+
var userManager = new UserManager<User>(userStore.Object, null, null, null, null, null, null, null, null);
36+
var roleManager = new RoleManager<Role>(roleStore.Object, null, null, null, null);
37+
38+
var commandHandler = new CreateUserCommandHandler(userManager, roleManager);
39+
40+
await Assert.ThrowsAsync<InvalidNullInputException>(() => commandHandler.Handle(null, CancellationToken.None));
41+
}
42+
}
43+
}

0 commit comments

Comments
 (0)