Beispiel #1
0
        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);
        }
Beispiel #2
0
        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
                }
            };
        }