public async Task Login_HappyPath_ReturnUserWithToken() { // Arrange var user = UserGenerator.GenerateUser(); using (var dbContext = new DatingAppDbContext(_options)) { dbContext.Users.Add(user); await dbContext.SaveChangesAsync(); } _passwordValidatorMock .Setup(v => v.Validate(It.IsAny <string>(), It.IsAny <Password>())) .Returns(true); _tokenServiceMock .Setup(s => s.Generate(It.IsAny <User>())) .Returns("token"); // Arrange var result = await _userLoginService.Login(new UserLoginRequest { Email = user.Email, Password = "******" }); // Assert Assert.NotNull(result); Assert.NotNull(result.AccessToken); Assert.NotNull(result.LoggedInUser); }
public async Task HandleAsync_HappyPath_MessageIsAdded() { // Arrange var user = UserGenerator.GenerateUser(); await using (var dbContext = new DatingAppDbContext(_options)) { dbContext.Users.Add(user); await dbContext.SaveChangesAsync(); } var userMock = new Mock <IAuthenticatedUser>(); userMock.SetupGet(u => u.Id).Returns(1); _userRepositoryMock .Setup(r => r.Single(It.IsAny <Expression <Func <User, bool> > >(), It.IsAny <CancellationToken>())) .ReturnsAsync(user); var command = new AddMessageCommand(user.Id, "text", userMock.Object); var fakeNow = Instant.FromDateTimeUtc(DateTime.UtcNow.AddDays(-1)); _clockMock.Setup(c => c.GetCurrentInstant()).Returns(fakeNow); // Act var messageDto = await _requestHandler.Handle(command, default); // Assert Assert.NotNull(messageDto); Assert.Equal(command.Content, messageDto.Content); Assert.Equal(messageDto.SendDate, fakeNow); }
public async Task Login_InvalidPassword_ReturnNull() { // Arrange var user = UserGenerator.GenerateUser(); using (var dbContext = new DatingAppDbContext(_options)) { dbContext.Users.Add(user); await dbContext.SaveChangesAsync(); } _passwordValidatorMock .Setup(v => v.Validate(It.IsAny <string>(), It.IsAny <Password>())) .Returns(false); // Act var result = await _userLoginService.Login(new UserLoginRequest { Email = user.Email, Password = "******" }); // Assert Assert.Null(result); }
public UserLoginServiceTests() { var dbContext = new DatingAppDbContext(_options); dbContext.Users.RemoveRange(dbContext.Users); dbContext.SaveChanges(); _userLoginService = new UserLoginService(dbContext, _tokenServiceMock.Object, _passwordValidatorMock.Object); }
public static void SeedUsers(DatingAppDbContext datingAppDbContext) { if (!datingAppDbContext.User.Any()) { var userData = File.ReadAllText("C:\\EMIAspNetCoreTraining\\EMIAspNetCore\\DatingApp\\DatingApp.DataModel\\Data\\UserSeedData.json"); var users = JsonConvert.DeserializeObject <List <User> >(userData); foreach (var user in users) { byte[] passwordHash, passwordSalt; CreatePasswordHash("password", out passwordHash, out passwordSalt); user.PasswordHash = passwordHash; user.PasswordSalt = passwordSalt; user.Name = user.Name.ToLower(); datingAppDbContext.User.Add(user); } datingAppDbContext.SaveChanges(); } }
public Repository(DatingAppDbContext dbContext) { _dbContext = dbContext; }
public AuthenticationRepository(DatingAppDbContext dbContext) { _dbContext = dbContext; }
public ValueService(DatingAppDbContext db) { this.db = db; }
public MessageRepository(DatingAppDbContext datingAppDbContext, IMapper mapper) { _datingAppDbContext = datingAppDbContext; _mapper = mapper; }
public AccountRepository(DatingAppDbContext datingAppDbContext) { _datingAppDbContext = datingAppDbContext; }
public FotosRepo(DatingAppDbContext datingAppDbContext) { this.datingAppDbContext = datingAppDbContext; }
public PhotoService(DatingAppDbContext db) { this.db = db; }
public AuthService(DatingAppDbContext db) { this.db = db; }
public UserRepository(DatingAppDbContext datingAppDbContext) { _datingAppDbcontext = datingAppDbContext; }
public AuthRepo(DatingAppDbContext datingAppDbContext, IConfiguration configuration) { this.configuration = configuration; this.datingAppDbContext = datingAppDbContext; }
public UserRepository(DatingAppDbContext dbContext) : base(dbContext) { }
public ValuesRepo(DatingAppDbContext datingAppDbContext) { this.datingAppDbContext = datingAppDbContext; }
public LikeRepository(DatingAppDbContext datingAppDbContext) { _datingAppDbContext = datingAppDbContext; }
public DatingRepository(DatingAppDbContext context) { _context = context; }
public ValuesController(DatingAppDbContext context) { this.context = context; }
public Seed(DatingAppDbContext Context) { _context = Context; }
public UserService(DatingAppDbContext db) { this.db = db; }
public AuthRepository(DatingAppDbContext context) { this.context = context; }