|
|
@ -1,4 +1,6 @@ |
|
|
|
using Microsoft.AspNetCore.Http; |
|
|
|
using Microsoft.AspNetCore.Authentication; |
|
|
|
using Microsoft.AspNetCore.Http; |
|
|
|
using Microsoft.AspNetCore.Http.Authentication; |
|
|
|
using Microsoft.AspNetCore.Mvc; |
|
|
|
using Microsoft.eShopOnContainers.WebMVC.Controllers; |
|
|
|
using Microsoft.eShopOnContainers.WebMVC.Services; |
|
|
@ -15,12 +17,10 @@ namespace UnitTest.Account |
|
|
|
{ |
|
|
|
public class AccountControllerTest |
|
|
|
{ |
|
|
|
private readonly Mock<IIdentityParser<ApplicationUser>> _identityParserMock; |
|
|
|
private readonly Mock<HttpContext> _httpContextMock; |
|
|
|
|
|
|
|
public AccountControllerTest() |
|
|
|
{ |
|
|
|
_identityParserMock = new Mock<IIdentityParser<ApplicationUser>>(); |
|
|
|
_httpContextMock = new Mock<HttpContext>(); |
|
|
|
} |
|
|
|
|
|
|
@ -29,20 +29,23 @@ namespace UnitTest.Account |
|
|
|
{ |
|
|
|
//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(_identityParserMock.Object); |
|
|
|
var accountController = new AccountController(); |
|
|
|
accountController.ControllerContext.HttpContext = _httpContextMock.Object; |
|
|
|
var actionResult = accountController.SignIn(""); |
|
|
|
var actionResult = accountController.SignIn("").Result; |
|
|
|
|
|
|
|
//Assert
|
|
|
|
var redirectResult = Assert.IsType<RedirectToActionResult>(actionResult); |
|
|
|
Assert.Equal(redirectResult.ActionName, "Index"); |
|
|
|
Assert.Equal(redirectResult.ControllerName, "Catalog"); |
|
|
|
Assert.Equal(accountController.ViewData["access_token"], "fakeToken"); |
|
|
|
} |
|
|
|
|
|
|
|
private ClaimsIdentity GenerateFakeClaimsIdentity() |
|
|
|