using e_suite.UnitTestCore; using eSuite.API.Controllers; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Moq; using System.Security.Claims; using e_suite.API.Common; namespace eSuite.API.UnitTests.Controllers.CustomFieldControllerUnitTest; public abstract class CustomFieldControllerTestBase : TestBase { protected CustomFieldsController _customFieldController; protected Mock? _customFieldManagerMock; protected const string BadRequestText = "Bad request"; protected const string NotFoundText = "Not found"; protected CustomFieldControllerTestBase() { _customFieldManagerMock = new Mock(); _customFieldController = new CustomFieldsController(_customFieldManagerMock.Object); } public override async Task Setup() { await base.Setup(); _customFieldManagerMock = new Mock(); _customFieldController = new CustomFieldsController(_customFieldManagerMock.Object); const long id = -1; const string email = "test@test.test"; const string displayName = "Testy McTester"; AddAuthorisedUserToController(id, email, displayName); } protected void AddAuthorisedUserToController(long id, string email, string displayName) { var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[] { new(ClaimTypes.PrimarySid, id.ToString()), new(ClaimTypes.Email, email), new(ClaimTypes.Name, displayName) // other required and custom claims }, "TestAuthentication")); _customFieldController.ControllerContext = new ControllerContext { HttpContext = new DefaultHttpContext { User = user } }; } }