From efb1626aa7d7bc6f70a97749bf9000ea87b75356 Mon Sep 17 00:00:00 2001 From: Darwin Yo <34813094+darwinyo-enterprise@users.noreply.github.com> Date: Fri, 22 Jun 2018 17:03:51 +0700 Subject: [PATCH] (fix) user claims in basket checkout seem you forgot to run your unit test. this quick hack to initialize User HttpContext --- .../Basket/Application/BasketWebApiTest.cs | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/test/Services/UnitTest/Basket/Application/BasketWebApiTest.cs b/test/Services/UnitTest/Basket/Application/BasketWebApiTest.cs index 7e17a9980..1ddad1085 100644 --- a/test/Services/UnitTest/Basket/Application/BasketWebApiTest.cs +++ b/test/Services/UnitTest/Basket/Application/BasketWebApiTest.cs @@ -81,6 +81,16 @@ namespace UnitTest.Basket.Application var basketController = new BasketController( _basketRepositoryMock.Object, _identityServiceMock.Object, _serviceBusMock.Object); + // Fix to init user claim + basketController.ControllerContext = new ControllerContext + { + HttpContext = new DefaultHttpContext + { + User = new ClaimsPrincipal( + new ClaimsIdentity(GetTestingUserClaim())) + } + }; + var result = await basketController.Checkout(new BasketCheckout(), Guid.NewGuid().ToString()) as BadRequestResult; Assert.NotNull(result); } @@ -97,6 +107,16 @@ namespace UnitTest.Basket.Application var basketController = new BasketController( _basketRepositoryMock.Object, _identityServiceMock.Object, _serviceBusMock.Object); + // Fix to init user claim + basketController.ControllerContext = new ControllerContext + { + HttpContext = new DefaultHttpContext + { + User = new ClaimsPrincipal( + new ClaimsIdentity(GetTestingUserClaim())) + } + }; + var result = await basketController.Checkout(new BasketCheckout(), Guid.NewGuid().ToString()) as AcceptedResult; _serviceBusMock.Verify(mock => mock.Publish(It.IsAny()), Times.Once); Assert.NotNull(result); @@ -112,5 +132,19 @@ namespace UnitTest.Basket.Application } }; } + + /// + /// Provide Test User Claims + /// + /// + /// List of claims + /// + private IEnumerable GetTestingUserClaim() + { + return new List + { + new Claim("unique_name", "test") + }; + } } }