public void Index_RedirectsToLogoutIfAccountDoesNotExist() { service.AccountExists(accountId).Returns(false); RedirectToRouteResult actual = controller.Index() as RedirectToRouteResult; Assert.AreEqual("Auth", actual.RouteValues["controller"]); Assert.AreEqual("Logout", actual.RouteValues["action"]); }
public ActionResult Edit(int id, [Bind(Exclude = "Id")] Account account) { if (id != account.Id) { return(HttpNotFound()); } if (ModelState.IsValid) { try { _service.UpdateAccount(account); } catch (DbUpdateConcurrencyException) { if (!_service.AccountExists(account)) { return(HttpNotFound()); } else { throw; } } return(RedirectToAction("Index")); } return(View(account)); }
public void SetUp() { HttpMock httpMock = new HttpMock(); HttpContext.Current = httpMock.HttpContext; service = Substitute.For <IAccountService>(); accountId = HttpContext.Current.User.Identity.Name; service.AccountExists(accountId).Returns(true); controller = new HomeController(service); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = httpMock.HttpContextBase; }
public async Task <ActionResult> RegisterAccount(RegisterDto registerDto) { if (await _accountService.AccountExists(registerDto.Username)) { return(BadRequest("Username is taken")); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var id = await _accountService.Register(registerDto); return(Created($"/api/account/{id}", null)); }
protected override ValidationResult IsValid(object value, ValidationContext validationContext) { IAccountService accountService = (IAccountService)validationContext .GetService(typeof(IAccountService)); //if email exists, it is in use and validation fails bool emailExists = accountService.AccountExists((string)value, out _); if (emailExists) { return(new ValidationResult("This email address is already in use.")); } else { return(ValidationResult.Success); } }
protected bool LoggedInUser(out UserAccount account) { ISession session = ControllerContext.HttpContext.Session; byte[] userAuthToken = session.Get("userAuthToken"); if (userAuthToken != null) { Guid identifier = new Guid(userAuthToken); if (accountService.AccountExists(identifier, out account)) { ViewData["loggedIn"] = true; ViewData["user"] = account; return(true); } } account = null; return(false); }
[HttpPost("account-exists")] // Endpoint for the frontend to check in real-time if the email is already taken public IActionResult AccountExists(AccountExists model) { _accountService.AccountExists(model.Email); return(Ok(new { message = $"The email '{model.Email}' is available" })); }
public void Edit_OnGetRedirectsToLogoutIfAccountDoesNotExist() { service.AccountExists(controller.CurrentAccountId).Returns(false); RedirectToRouteResult actual = controller.Edit() as RedirectToRouteResult; Assert.AreEqual("Auth", actual.RouteValues["controller"]); Assert.AreEqual("Logout", actual.RouteValues["action"]); Assert.AreEqual(2, actual.RouteValues.Count); }
public async Task <IActionResult> CreateAccount(AccountSignUp accountSignUp) { //Check parameters if (accountSignUp == null) { return(BadRequest("Udfyld alle felter")); } if (string.IsNullOrEmpty(accountSignUp.Email)) { return(BadRequest("Email kan ikke være tomt")); } if (string.IsNullOrEmpty(accountSignUp.Password)) { return(BadRequest("Adgangskode kan ikke være tomt")); } if (string.IsNullOrEmpty(accountSignUp.UserName)) { return(BadRequest("Brugernavn kan ikke være tomt")); } //Validate Email if (!Regex.IsMatch(accountSignUp.Email, "^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$") ) { return(BadRequest("Email er ikke valid")); } //Validate Password if (!Regex.IsMatch(accountSignUp.Password, _passwordService.PasswordPattern)) { return(BadRequest( $"Adgangskoden var ikke valid, adgangskoden skal minimum indeholde 1 stortbogstav, 1 bogstav, 1 specialtegn, 1 tal og være {_passwordService.MinLength}-{_passwordService.MaxLength} tegn langt")); } //Check if account userName already exists if (await _accountService.AccountExists(accountSignUp.Email)) { return(BadRequest("En bruger med denne brugernavn eksistere allerede")); } //Check if account email already exists if (await _accountService.EmailExists(accountSignUp.Email)) { return(BadRequest("En bruger med denne email eksistere allerede")); } try { //Create account if (await _accountService.CreateAccount(accountSignUp) != null) { //If successfully send ok created return(Ok(new Response("Oprettet bruger!"))); } } catch (Exception) { return(BadRequest( "Der skete en fejl ved oprettelse af brugere, kontakt venligst [email protected] hvis dette fortsætter")); } return(BadRequest( "Der skete en fejl ved oprettelse af brugere, kontakt venligst [email protected] hvis dette fortsætter")); }