public async Task RegisterAsync_ShouldReturnAppUserObject() { //preparing the Data Access Layer class that going in the Busineess Logic class //Mocking //1. Arrange var mockDalClass = new Mock <IAppUserDal>(); //Checking Unique mockDalClass.Setup(x => x.GetAppUserByIdAsync(It.IsAny <string>())) .ReturnsAsync((AppUser)(null)); mockDalClass.Setup(x => x.GetAppUserByNickNameAsync(It.IsAny <string>())) .ReturnsAsync((AppUser)(null)); //Creating New User mockDalClass.Setup(x => x.CreateNewAppUserAsync(It.IsAny <AppUser>())) .ReturnsAsync(true); var userDal = new AppUserBll(mockDalClass.Object); //2. Act var returnAppUser = await userDal.RegisterAsync(new AppUser() { No = 1, Id = "test123", NickName = "nickDan", Password = "******", AccessLevel = 1 }); //3.Assert Assert.NotNull(returnAppUser); }
public async Task VarifyUserAsync_ShouldReturnAppUserObject() { //preparing the Data Access Layer class that going in the Busineess Logic class //Mocking //1. Arrange var mockDalClass = new Mock <IAppUserDal>(); //hash of password qwer1234 var hashedPassword = "******"; mockDalClass.Setup(x => x.GetAppUserByIdAsync(It.IsAny <string>())) .ReturnsAsync(new AppUser() { No = 1, Id = "test123", NickName = "nickDan" , Password = hashedPassword, AccessLevel = 1 }); var userBll = new AppUserBll(mockDalClass.Object); //2. Act var returnAppUser = await userBll.VerifyUserAsync("test123", "qwer1234"); //3.Assert Assert.NotNull(returnAppUser); }
public async Task <IdentityResult> CreateAsync(AppUserBll userBll, string password) { IdentityUser user = mapper.Map <AppUserBll, AppUser>(userBll); IdentityResult result = null; IdentityResult res = null; List <Task <IdentityResult> > createRoles = new List <Task <IdentityResult> >(); if (await db.RoleManager.FindByNameAsync("Teacher") == null) { createRoles.Add(db.RoleManager.CreateAsync(new IdentityRole("Teacher"))); } if (await db.RoleManager.FindByNameAsync("Student") == null) { createRoles.Add(db.RoleManager.CreateAsync(new IdentityRole("Student"))); } if (await db.RoleManager.FindByNameAsync("Moderator") == null) { createRoles.Add(db.RoleManager.CreateAsync(new IdentityRole("Moderator"))); } await Task.WhenAll(createRoles); result = await db.UserManager.CreateAsync(user, password); if (result.Succeeded) { res = await db.UserManager.AddToRoleAsync(user, userBll.Role); Person person; if ((userBll.Role == "Teacher") || userBll.Role == "Moderator") { person = new Teacher() { FirstName = userBll.FirstName, LastName = userBll.LastName, IdentityId = userBll.Id, Department = userBll.Department }; } else { person = new Student() { FirstName = userBll.FirstName, LastName = userBll.LastName, IdentityId = userBll.Id, }; } db.RersonManager.Create(person); } return(result); }
public async Task <IActionResult> Post([FromBody] RegistrationViewModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } AppUserBll userIdentity = mapper.Map <RegistrationViewModel, AppUserBll>(model); IdentityResult result = await userService.CreateAsync(userIdentity, model.Password); if (!result.Succeeded) { return(new BadRequestObjectResult(Errors.AddErrorsToModelState(result, ModelState))); } return(new OkObjectResult("Account created")); }
public AuthController(AppUserBll userBll, IAntiforgery antiforgery) { _userBll = userBll; _antiforgery = antiforgery; }