public async void Login_ValidLogins_ReturnsTrue() { var userRepo = new Mock <IUserRepository>(); userRepo.Setup(x => x.FindByNameAsync(It.IsAny <string>())) .Returns(Task.FromResult(new User(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()))); userRepo.Setup(x => x.CheckPasswordAsync(It.IsAny <User>(), It.IsAny <string>())) .Returns(Task .FromResult(true)); var handler = new AccountsHandlerBuilder() { UserRepository = userRepo.Object }.Build(); var outputPort = new Mock <IOutputPort <LoginResponseDTO> >(); var result = await handler.LogInAsync(new LoginRequestDTO("username", "password"), outputPort.Object); outputPort.Verify(x => x.CreateResponse(It.IsAny <LoginResponseDTO>())); Assert.True(result); }
public async void Login_UsernameOrPasswordIsEmpty_ReturnsTrue() { var handler = new AccountsHandlerBuilder().Build(); var output = new Mock <IOutputPort <LoginResponseDTO> >().Object; var result = await handler.LogInAsync(new LoginRequestDTO(string.Empty, ""), output); Assert.False(result); }
public async void Register_UserCreated_ReturnsTrue() { var userRepo = new Mock <IUserRepository>(); userRepo.Setup(x => x.CreateUserAsync(It.IsAny <User>(), It.IsAny <string>())) .Returns(Task.FromResult(true)); var handler = new AccountsHandlerBuilder() { UserRepository = userRepo.Object }.Build(); var outputPort = new Mock <IOutputPort <RegisterResponseDTO> >(); var result = await handler.RegisterAsync(new RegisterRequestDTO(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()), outputPort.Object); outputPort.Setup(x => x.CreateResponse(It.Is <RegisterResponseDTO>(x => x.Success == true && !x.ErrorResponse.Errors.Any()))); Assert.True(result); }
public async void Register_RepoThrowsUnexpectedException_ReturnsFalse() { var userRepo = new Mock <IUserRepository>(); userRepo.Setup(x => x.CreateUserAsync(It.IsAny <User>(), It.IsAny <string>())) .Throws(new Exception()); var handler = new AccountsHandlerBuilder() { UserRepository = userRepo.Object }.Build(); var outputPort = new Mock <IOutputPort <RegisterResponseDTO> >(); var result = await handler.RegisterAsync(new RegisterRequestDTO(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()), outputPort.Object); outputPort.Verify(x => x.CreateResponse(It.Is <RegisterResponseDTO>(x => x.Success == false && x.ErrorResponse.Errors.Any()))); Assert.False(result); }
public async void Login_UserDoesNotExist_ReturnsFalse() { //Arrange var userRepo = new Mock <IUserRepository>(); userRepo.Setup(x => x.FindByNameAsync(It.IsAny <string>())) .Returns(Task.FromResult <User>(null)); var handler = new AccountsHandlerBuilder() { UserRepository = userRepo.Object }.Build(); var outputPort = new Mock <IOutputPort <LoginResponseDTO> >().Object; //Act var result = await handler.LogInAsync(new LoginRequestDTO("username", "password"), outputPort); //Assert Assert.False(result); }
public async void Login_RepoThrowsUnexpectedException_ReturnTrue() { var userRepo = new Mock <IUserRepository>(); userRepo.Setup(x => x.FindByNameAsync(It.IsAny <string>())) .Returns(Task.FromResult(It.IsAny <User>())); userRepo.Setup(x => x.CheckPasswordAsync(It.IsAny <User>(), It.IsAny <string>())) .Throws(new Exception()); var handler = new AccountsHandlerBuilder() { UserRepository = userRepo.Object }.Build(); var outputPort = new Mock <IOutputPort <LoginResponseDTO> >(); var result = await handler.LogInAsync(It.IsAny <LoginRequestDTO>(), outputPort.Object); outputPort.Verify(x => x.CreateResponse(It.Is <LoginResponseDTO>(x => x.Success == false && x.ErrorResponse.Errors.Any()))); Assert.False(result); }