Browse Source

Fix accountcontroller signin unit test

pull/281/head
Ramón Tomás 7 years ago
parent
commit
eb4396e659
2 changed files with 11 additions and 8 deletions
  1. +1
    -1
      src/Web/WebMVC/Controllers/AccountController.cs
  2. +10
    -7
      test/Services/UnitTest/Account/AccountControllerTest.cs

+ 1
- 1
src/Web/WebMVC/Controllers/AccountController.cs View File

@ -9,7 +9,7 @@ namespace Microsoft.eShopOnContainers.WebMVC.Controllers
{
[Authorize]
public class AccountController : Controller
{
{
[Authorize]
public async Task<IActionResult> SignIn(string returnUrl)
{


+ 10
- 7
test/Services/UnitTest/Account/AccountControllerTest.cs View File

@ -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()


Loading…
Cancel
Save