Skip to content

Commit 6f4f5be

Browse files
LoginCommandHandler unit test.
1 parent bbabad3 commit 6f4f5be

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
using CleanTemplate.Common.Exceptions;
2+
using CleanTemplate.Domain.Entities.Users;
3+
using CleanTemplate.Persistance.CommandHandlers.Users;
4+
using CleanTemplate.Persistance.Jwt;
5+
using Microsoft.AspNetCore.Identity;
6+
using Moq;
7+
using System.Threading;
8+
using System.Threading.Tasks;
9+
using Xunit;
10+
11+
namespace CleanTemplate.CommandHandler.Test
12+
{
13+
public class LoginCommandHandlerTest
14+
{
15+
[Fact]
16+
public async Task Should_ThrowException_When_InputIsNull()
17+
{
18+
// Arrange
19+
var userStore = new Mock<IUserStore<User>>();
20+
userStore.Setup(x => x.FindByIdAsync("123", CancellationToken.None))
21+
.ReturnsAsync(new User()
22+
{
23+
UserName = "testUserName",
24+
Id = 123
25+
});
26+
27+
var userManager = new UserManager<User>(userStore.Object, null, null, null, null, null, null, null, null);
28+
var jwtService = new Mock<IJwtService>();
29+
30+
// Act
31+
var commandHandler = new LoginCommandHandler(userManager, jwtService.Object);
32+
33+
// Assert
34+
await Assert.ThrowsAsync<InvalidNullInputException>(() => commandHandler.Handle(null, CancellationToken.None));
35+
}
36+
}
37+
}

0 commit comments

Comments
 (0)