Advertisement
Guest User

Untitled

a guest
Mar 26th, 2018
248
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.18 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IdentityModel.Tokens.Jwt;
  4. using System.Security.Claims;
  5. using System.Security.Cryptography;
  6. using System.Text;
  7. using Microsoft.AspNetCore.Mvc;
  8. using Microsoft.IdentityModel.Tokens;
  9. using Moq;
  10. using TDD.Dto;
  11. using TDD.Interface;
  12. using TDD.Model;
  13. using TDD.Service;
  14. using Xunit;
  15.  
  16. namespace TDD.Tests
  17. {
  18. public class UnitTest1
  19. {
  20. [Fact]
  21. public void ShouldReturnOnInvalidPassword()
  22. {
  23. var error = "Haslo lub uzytkownik jest bledne ";
  24. //user w bazie
  25. var user = new User { Username = "login", Email = "mail@mail.com", Password = GetHash("asdsdasd") };
  26. var loginModel = new LoginModel
  27. {
  28. Username = "login",
  29. Password = "asd"
  30. };
  31. var userRepository = new Mock<IRepository<User>>();
  32. var configurationManager = new Mock<IConfigurationManager>();
  33.  
  34. var userService = new UserService(userRepository.Object, configurationManager.Object);
  35.  
  36. var accountController = new AccountController(userService);
  37.  
  38.  
  39. var result = accountController.Login(loginModel);
  40. var badRequest = Assert.IsType<BadRequestObjectResult>(result);
  41. var errorResult = Assert.IsAssignableFrom<ResultDto<LoginResultDto>>(badRequest.Value);
  42.  
  43. Assert.Contains(error, errorResult.Errors);
  44. }
  45.  
  46.  
  47. [Fact]
  48. public void ShouldLoginWithSuccess()
  49. {
  50. var user = new User { Username = "login", Email = "mail@mail.com", Password = GetHash("asd") };
  51.  
  52. var loginModel = new LoginModel
  53. {
  54. Username = "login",
  55. Password = "asd"
  56. };
  57. var userRepository = new Mock<IRepository<User>>();
  58. var configurationManager = new Mock<IConfigurationManager>();
  59.  
  60. userRepository.Setup(x => x.Exist(It.IsAny<Func<User, bool>>())).Returns(true);
  61. userRepository.Setup(x => x.GetBy(It.IsAny<Func<User, bool>>())).Returns(user);
  62. configurationManager.Setup(x => x.GetValue(It.IsAny<string>()))
  63. .Returns("asdasdasdasdasdasdasdasdasdasdasdasdasdaasdasd");
  64.  
  65. var userService = new UserService(userRepository.Object, configurationManager.Object);
  66.  
  67. var accountController = new AccountController(userService);
  68.  
  69.  
  70. var result = accountController.Login(loginModel);
  71. var okResult = Assert.IsType<OkObjectResult>(result);
  72. var okResultValue = Assert.IsAssignableFrom<ResultDto<LoginResultDto>>(okResult.Value);
  73.  
  74. //Assert.Equal(user.Email, okResultValue.SuccessResult.Email);
  75. Assert.NotNull(okResultValue.SuccessResult?.Token);
  76. }
  77. private string GetHash(string text)
  78. {
  79. // SHA512 is disposable by inheritance.
  80. using (var sha256 = SHA256.Create())
  81. {
  82. // Send a sample text to hash.
  83. var hashedBytes = sha256.ComputeHash(Encoding.UTF8.GetBytes(text));
  84. // Get the hashed string.
  85. return BitConverter.ToString(hashedBytes).Replace("-", "").ToLower();
  86. }
  87. }
  88.  
  89. [Fact]
  90. public void ShouldReturnErrorOnInvalidUser()
  91. {
  92. var error = "Haslo lub uzytkownik jest bledne ";
  93. //user w bazie
  94. var user = new User { Username = "login", Email = "mail@mail.com", Password = GetHash("asd") };
  95.  
  96. var loginModel = new LoginModel
  97. {
  98. Username = "login",
  99. Password = "asd"
  100. };
  101. var userRepository = new Mock<IRepository<User>>();
  102. var configurationManager = new Mock<IConfigurationManager>();
  103.  
  104. var userService = new UserService(userRepository.Object, configurationManager.Object);
  105.  
  106. var accountController = new AccountController(userService);
  107.  
  108.  
  109. var result = accountController.Login(loginModel);
  110. var badRequest = Assert.IsType<BadRequestObjectResult>(result);
  111. var errorResult = Assert.IsAssignableFrom<ResultDto<LoginResultDto>>(badRequest.Value);
  112.  
  113. Assert.Contains(error, errorResult.Errors);
  114. }
  115. [Fact]
  116. public void ShouldReturnOkWhenRegisterSuccesful()
  117. {
  118. var registerModel = new RegisterModel { Username = "asd", Password = "adgg", ConfirmPassword="adgg" };
  119. var userRepository = new Mock<IRepository<User>>();
  120. userRepository.Setup(x => x.Exist(It.IsAny<Func<User, bool>>())).Returns(false);
  121.  
  122. var configurationManager = new Mock<IConfigurationManager>();
  123. var userService = new UserService(userRepository.Object,configurationManager.Object);
  124. var accountController = new AccountController(userService);
  125.  
  126. var result = accountController.Register(registerModel);
  127.  
  128. var okResult = Assert.IsType<OkObjectResult>(result);
  129. var resultValue = Assert.IsAssignableFrom<ResultDto<BaseDto>>(okResult.Value);
  130.  
  131. Assert.False(resultValue.IsError);
  132. }
  133. }
  134. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement