public async void ExecuteWithCorrectUserTest() { //Arrange Domain.Users.User usRet = new Domain.Users.User("hola", "password", true) { Id = "id" }; var mockUserRepository = new Mock <IUserRepository>(); var mockJwtService = new Mock <IJwtService>(); var mockStorage = new Mock <IStorage>(); var mockUserService = new Mock <IUserService>(); mockUserRepository.Setup(b => b.CheckUser(It.IsAny <Domain.Users.User>())).ReturnsAsync(usRet); mockJwtService.Setup(b => b.GenerateJWT("hola", "id", 1, 1, 1)).Returns(Task.FromResult("jwt")); LoginUserUseCase useCase = new LoginUserUseCase(mockUserRepository.Object, mockJwtService.Object, mockUserService.Object, mockStorage.Object); //Act var result = await useCase.Execute("hola", "password"); //Assert Assert.IsType <UserOutput>(result); }
public async Task Handle_ValidCredentials_ShouldSucceed() { _mockUserReposytory.Setup(repo => repo.CheckPassword(It.IsAny <User>(), It.IsAny <string>())).ReturnsAsync(true); var useCase = new LoginUserUseCase(_mockUserReposytory.Object, _mockJwtFactory.Object, _mockTokenFactory.Object); var responce = await useCase.Handle(new LoginRequest("username", "password", "127.0.0.1"), _mockOutputPort.Object); Assert.True(responce); }
public async Task Handle_IncompleteCredentials_ShouldFailed() { _mockUserReposytory.Setup(repo => repo.CheckPassword(It.IsAny <User>(), It.IsAny <string>())).ReturnsAsync(false); var useCase = new LoginUserUseCase(_mockUserReposytory.Object, _mockJwtFactory.Object, _mockTokenFactory.Object); var responce = await useCase.Handle(new LoginRequest("", "password", "127.0.0.1"), _mockOutputPort.Object); Assert.False(responce); _mockTokenFactory.Verify(factory => factory.GenerateToken(32), Times.Never); }
public async Task Handler_IncorrectPassword_ShouldFail() { _mockUserReposytory.Setup(repo => repo.CheckPassword(It.IsAny <User>(), It.IsAny <string>())).ReturnsAsync(false); var useCase = new LoginUserUseCase(_mockUserReposytory.Object, _mockJwtFactory.Object, _mockTokenFactory.Object); var result = await useCase.Handle(new LoginRequest("username", "wrongpassword", "127.0.01"), _mockOutputPort.Object); Assert.False(result); _mockTokenFactory.Verify(factory => factory.GenerateToken(32), Times.Never); }
public async void ExecuteWithWrongUserTest() { //Arrange var mockUserRepository = new Mock <IUserRepository>(); var mockStorage = new Mock <IStorage>(); var mockUserService = new Mock <IUserService>(); var mockJwtService = new Mock <IJwtService>(); mockUserRepository.Setup(b => b.CheckUser(It.IsAny <Domain.Users.User>())).ReturnsAsync((Domain.Users.User)null); LoginUserUseCase useCase = new LoginUserUseCase(mockUserRepository.Object, mockJwtService.Object, mockUserService.Object, mockStorage.Object); //Act and //Assert await Assert.ThrowsAsync <UserNotFoundException>(() => useCase.Execute("Hola", "Password")); }