public UsersController(WebApiContext context, IMapper mapper, AdminElevation adminElevation, SignupThrottler signupThrottler, PasswordHasher passwordHasher) { _context = context; _mapper = mapper; _adminElevation = adminElevation; _signupThrottler = signupThrottler; _passwordHasher = passwordHasher; }
private UsersController CreateController(WebApiContext context) { var adminElevation = new AdminElevation(context); var signupThrottler = new SignupThrottler(context, TimeSpan.FromMinutes(10)); var hasher = new PasswordHasher(); var controller = new UsersController(context, _mapper, adminElevation, signupThrottler, hasher); return(controller); }
public async Task AddUserWithSameLoginAfterTimeout() { await using var context = new WebApiContext(_seeder.DbContextOptions); var signupThrottler = new SignupThrottler(context, TimeSpan.FromHours(1)); var existingUser = await context.Users.FirstAsync(); existingUser.CreatedDate = DateTime.Now - TimeSpan.FromHours(2); await context.SaveChangesAsync(); (await signupThrottler.IsSignupAllowed(existingUser.Login)).ShouldBe(true); }