Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class UserController : Controller
- {
- private readonly UserManager<IdentityUser> _userManager;
- private readonly SignInManager<IdentityUser> _signInManager;
- private readonly IUserRepository _userRepository;
- public UserController(IUserRepository repo, UserManager<IdentityUser> userManager, SignInManager<IdentityUser> signInManager)
- {
- _userRepository = repo;
- _userManager = userManager;
- _signInManager = signInManager;
- }
- public async Task<IActionResult> Index()
- {
- return View(await _userRepository.GetAll().ToListAsync());
- }
- public class DummyDbContext
- {
- private ICollection<Gebruiker> _users;
- public Mock<DbSet<Gebruiker>> _dbsetUsers
- {
- get
- {
- return _users.AsQueryable().BuildMockDbSet();
- }
- }
- public DummyDbContext()
- {
- _users= new List<Gebruiker>();
- _users.Add(new User("Alan"));
- _users.Add(new User("Claire"));
- _users.Add(new User("Paul"));
- _users.Add(new User("John"));
- }
- public class UserControllerTest
- {
- private readonly DummyDbContext _context;
- private readonly Mock<UserManager<IdentityUser>> _userManager;
- private readonly Mock<SignInManager<IdentityUser>> _signInManager;
- private readonly Mock<IUserRepository> _userRepository;
- private readonly UserController _controller;
- public GebruikersControllerTest()
- {
- _context = new DummyDbContext();
- _userManager = new Mock<UserManager<IdentityUser>>(
- new Mock<IUserStore<IdentityUser>>().Object,
- new Mock<IOptions<IdentityOptions>>().Object,
- new Mock<IPasswordHasher<IdentityUser>>().Object,
- new IUserValidator<IdentityUser>[0],
- new IPasswordValidator<IdentityUser>[0],
- new Mock<ILookupNormalizer>().Object,
- new Mock<IdentityErrorDescriber>().Object,
- new Mock<IServiceProvider>().Object,
- new Mock<ILogger<UserManager<IdentityUser>>>().Object);
- _signInManager = new Mock<SignInManager<IdentityUser>>(
- _userManager.Object,
- new Mock<IHttpContextAccessor>().Object,
- new Mock<IUserClaimsPrincipalFactory<IdentityUser>>().Object,
- new Mock<IOptions<IdentityOptions>>().Object,
- new Mock<ILogger<SignInManager<IdentityUser>>>().Object,
- new Mock<IAuthenticationSchemeProvider>().Object);
- _userRepository = new Mock<IUserRepository>();
- _controller = new UserController(_gebruikersRepository.Object, _userManager.Object, _signInManager.Object);
- }
- [Fact]
- public async void Index_GetModelContainingAllUsers()
- {
- _userRepository.Setup(g => g.GetAll()).Returns(_context._dbsetUsers.Object);
- var actionResult = await _controller.Index() as Task<ViewResult>;
- var usersResult = actionResult?.Result?.Model as IEnumerable<User>;
- foreach (var g in usersResult) {
- Console.WriteLine(g.Username);
- }
- Assert.Equal(4, gebruikers.Count());
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement