|
|
- using Microsoft.AspNetCore.Http;
- using Microsoft.AspNetCore.Http.Authentication;
- using Microsoft.AspNetCore.Mvc;
- using Microsoft.eShopOnContainers.WebMVC.Controllers;
- using Moq;
- using System.Security.Claims;
- using Xunit;
-
- namespace UnitTest.Account
- {
- public class AccountControllerTest
- {
- private readonly Mock<HttpContext> _httpContextMock;
-
- public AccountControllerTest()
- {
- _httpContextMock = new Mock<HttpContext>();
- }
-
- /* TBD: Find a way to mock HttpContext GetTokenAsync method */
- //[Fact]
- //public void Signin_with_token_success()
- //{
- // //Arrange
- // var fakeCP = GenerateFakeClaimsIdentity();
- // var mockAuth = new Mock<AuthenticationManager>();
-
- // _httpContextMock.Setup(x => x.User)
- // .Returns(new ClaimsPrincipal(fakeCP));
-
- // _httpContextMock.Setup(c => c.Authentication)
- // .Returns(mockAuth.Object);
-
- // //Act
- // var accountController = new AccountController();
- // accountController.ControllerContext.HttpContext = _httpContextMock.Object;
- // var actionResult = accountController.SignIn("").Result;
-
- // //Assert
- // var redirectResult = Assert.IsType<RedirectToActionResult>(actionResult);
- // Assert.Equal(redirectResult.ActionName, "Index");
- // Assert.Equal(redirectResult.ControllerName, "Catalog");
- //}
-
- private ClaimsIdentity GenerateFakeClaimsIdentity()
- {
- var ci = new ClaimsIdentity();
- ci.AddClaim(new Claim("access_token", "fakeToken"));
- return ci;
- }
- }
- }
|