Advertisement
Guest User

Untitled

a guest
Jun 19th, 2019
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.06 KB | None | 0 0
  1. public class UserController : Controller
  2. {
  3. private readonly UserManager<IdentityUser> _userManager;
  4. private readonly SignInManager<IdentityUser> _signInManager;
  5. private readonly IUserRepository _userRepository;
  6.  
  7. public UserController(IUserRepository repo, UserManager<IdentityUser> userManager, SignInManager<IdentityUser> signInManager)
  8. {
  9. _userRepository = repo;
  10. _userManager = userManager;
  11. _signInManager = signInManager;
  12. }
  13.  
  14. public async Task<IActionResult> Index()
  15. {
  16. return View(await _userRepository.GetAll().ToListAsync());
  17. }
  18.  
  19. public class DummyDbContext
  20. {
  21. private ICollection<Gebruiker> _users;
  22. public Mock<DbSet<Gebruiker>> _dbsetUsers
  23. {
  24. get
  25. {
  26. return _users.AsQueryable().BuildMockDbSet();
  27. }
  28. }
  29.  
  30. public DummyDbContext()
  31. {
  32. _users= new List<Gebruiker>();
  33.  
  34. _users.Add(new User("Alan"));
  35. _users.Add(new User("Claire"));
  36. _users.Add(new User("Paul"));
  37. _users.Add(new User("John"));
  38. }
  39.  
  40. public class UserControllerTest
  41. {
  42. private readonly DummyDbContext _context;
  43. private readonly Mock<UserManager<IdentityUser>> _userManager;
  44. private readonly Mock<SignInManager<IdentityUser>> _signInManager;
  45. private readonly Mock<IUserRepository> _userRepository;
  46. private readonly UserController _controller;
  47.  
  48. public GebruikersControllerTest()
  49. {
  50. _context = new DummyDbContext();
  51. _userManager = new Mock<UserManager<IdentityUser>>(
  52. new Mock<IUserStore<IdentityUser>>().Object,
  53. new Mock<IOptions<IdentityOptions>>().Object,
  54. new Mock<IPasswordHasher<IdentityUser>>().Object,
  55. new IUserValidator<IdentityUser>[0],
  56. new IPasswordValidator<IdentityUser>[0],
  57. new Mock<ILookupNormalizer>().Object,
  58. new Mock<IdentityErrorDescriber>().Object,
  59. new Mock<IServiceProvider>().Object,
  60. new Mock<ILogger<UserManager<IdentityUser>>>().Object);
  61. _signInManager = new Mock<SignInManager<IdentityUser>>(
  62. _userManager.Object,
  63. new Mock<IHttpContextAccessor>().Object,
  64. new Mock<IUserClaimsPrincipalFactory<IdentityUser>>().Object,
  65. new Mock<IOptions<IdentityOptions>>().Object,
  66. new Mock<ILogger<SignInManager<IdentityUser>>>().Object,
  67. new Mock<IAuthenticationSchemeProvider>().Object);
  68. _userRepository = new Mock<IUserRepository>();
  69. _controller = new UserController(_gebruikersRepository.Object, _userManager.Object, _signInManager.Object);
  70. }
  71.  
  72. [Fact]
  73. public async void Index_GetModelContainingAllUsers()
  74. {
  75. _userRepository.Setup(g => g.GetAll()).Returns(_context._dbsetUsers.Object);
  76. var actionResult = await _controller.Index() as Task<ViewResult>;
  77. var usersResult = actionResult?.Result?.Model as IEnumerable<User>;
  78. foreach (var g in usersResult) {
  79. Console.WriteLine(g.Username);
  80. }
  81. Assert.Equal(4, gebruikers.Count());
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement