public AuthControllerTests() { _context = Helpers.GetContext("test"); var option = new JwtIssuerOptions { Issuer = "webApi", Audience = "http://localhost:5000/" }; var optionsMock = new Mock <IOptions <JwtIssuerOptions> >(); optionsMock.Setup(ap => ap.Value).Returns(option); _userManager = new Mock <FakeUserManager>(); var userRepository = new EntityUserRepository(_context, _userManager.Object); var userService = new UserService(userRepository, null); var tenantProviderMock = new Mock <ITenantProvider>(); tenantProviderMock.Setup(serv => serv.GetTenantId()).Returns("test"); var mapper = Helpers.GetMapper(); var userViewModelService = new UserApiViewModelService(userService, mapper, tenantProviderMock.Object); _authLocalizerMock = new Mock <IStringLocalizer <AuthController> >(); _controller = new AuthController(optionsMock.Object, _userManager.Object, userService, userViewModelService, _authLocalizerMock.Object); }
public UserControllerTests() { _context = Helpers.GetContext("test"); _currentUser = new ApplicationUser { Email = "*****@*****.**", FirstName = "test", LastName = "Test", CreatedAt = DateTime.UtcNow, SecurityStamp = new Guid().ToString(), EmailConfirmed = true, Id = 1.ToString(), IsDeleted = false, UserDetail = new UserDetail { AuthorityPercent = 30, LanguagePreference = "tr" } }; _context.Roles.Add(new ApplicationRole { Id = 1.ToString(), Name = "Admin" }); _context.UserRoles.Add(new IdentityUserRole <string> { RoleId = 1.ToString(), UserId = 1.ToString() }); _context.Users.Add(_currentUser); _context.SaveChanges(); _tenantsDbContext = Helpers.GetTenantContext(); _pollLocalizerMock = new Mock <IStringLocalizer <UserController> >(); _userManager = new Mock <FakeUserManager>(); var userList = new List <ApplicationUser> { _currentUser }; _userManager.Setup(x => x.Users).Returns(userList.AsQueryable()); _userManager.Setup(x => x.FindByEmailAsync(It.IsAny <string>())) .ReturnsAsync((string x) => userList.FirstOrDefault(a => a.Email == x)); _userManager.Setup(x => x.CreateAsync(It.IsAny <ApplicationUser>())) .Callback((ApplicationUser usr) => userList.Add(usr)).ReturnsAsync(IdentityResult.Success); _userManager.Setup(x => x.UpdateAsync(It.IsAny <ApplicationUser>())) .Callback((ApplicationUser usr) => userList[userList.FindIndex(x => x.Id == usr.Id)] = usr) .ReturnsAsync(IdentityResult.Success); _userManager.Setup(x => x.GeneratePasswordResetTokenAsync(It.IsAny <ApplicationUser>())) .ReturnsAsync(new Guid().ToString()); var userRepository = new EntityUserRepository(_context, _userManager.Object); var userService = new UserService(userRepository, null); var tenantProviderMock = new Mock <ITenantProvider>(); tenantProviderMock.Setup(serv => serv.GetTenantId()).Returns("test"); var mapper = Helpers.GetMapper(); var userApiViewModelService = new UserApiViewModelService(userService, mapper, tenantProviderMock.Object); ITenantRepository tenantRepository = new EntityTenantRepository(_tenantsDbContext); IAsyncRepository <Setting> settingRepository = new EfRepository <Setting>(_context); ISettingService settingService = new SettingService(settingRepository); ITenantService tenantService = new TenantService(tenantRepository, settingService, null); var emailSenderMock = new Mock <IEmailSender>(); _configMock = new Mock <IConfiguration>(); _controller = new UserController(userApiViewModelService, _userManager.Object, userService, tenantService, emailSenderMock.Object, _configMock.Object, _pollLocalizerMock.Object); var user = new ClaimsPrincipal(new ClaimsIdentity(new[] { new Claim(ClaimTypes.PrimarySid, _currentUser.Id) })); _controller.ControllerContext = new ControllerContext { HttpContext = new DefaultHttpContext { User = user } }; }