So i'm having an issues unit testing the PermissionRequirementFilter below. This class was perviusly being DI'd into the unit test but something has changed and im unsure whats happend. Its complaining about the protection level of the class as its an internal based class.
MainClass:
public class PermissionRequirementAttribute : TypeFilterAttribute
{
public PermissionRequirementAttribute(string permissions) : base(typeof(PermissionRequirementFilter))
{
Arguments = new object[]
{
Regex.Split(permissions, @",\s*").ToList()
};
}
}
internal class PermissionRequirementFilter : IAuthorizationFilter
{
private readonly IEnumerable<string> _requiredPermissions;
private readonly IOrganisationsServiceProxy _organisationsProxy;
public PermissionRequirementFilter(
IOrganisationsServiceProxy organisationsProxy,
IEnumerable<string> requiredPermissions)
{
_requiredPermissions = requiredPermissions;
_organisationsProxy = organisationsProxy;
}
public void OnAuthorization(AuthorizationFilterContext context)
{
}
}
TestConstructor: The test class looks like the code below but the import isnt letting me DI the class into the test class.
public class PermissionRequirementAttributeTests
{
private readonly IEnumerable<string> _testPermissions;
private readonly PermissionRequirementFilter _permissionRequirementFilter;
private readonly Mock<IOrganisationsServiceProxy> _organisationProxy;
public PermissionRequirementAttributeTests()
{
_organisationProxy = new Mock<IOrganisationsServiceProxy>();
_testPermissions = new List<string> { "myPermission", "mySecondPermission", "myThirdPermission" };
_permissionRequirementFilter = new PermissionRequirementFilter(_organisationProxy.Object, _testPermissions);
}
}
Any help would be great thanks in advance.