Files
monorepo/LCU.API.Operations.IncentiveAPI/LCU.API.Internal.Operations.IncentiveApi.UnitTests/Authorization/PermissionPolicyProviderTest.cs
T
2026-03-17 09:53:09 -05:00

39 lines
1.2 KiB
C#

using Microsoft.AspNetCore.Authorization;
using Microsoft.Extensions.Options;
using NUnit.Framework;
using System.Linq;
using System.Threading.Tasks;
using LCU.API.Internal.Operations.IncentiveApi.Authorization;
namespace Application.UnitTests.Authorization
{
public class PermissionPolicyProviderTest
{
private PermissionPolicyProvider _provider;
[SetUp]
public void Setup()
{
var options = Options.Create(new AuthorizationOptions());
_provider = new PermissionPolicyProvider(options);
}
[Test]
public async Task GetPolicyAsync_GivenPolicyName_ReturnsPermissionsPolicy()
{
var result = await _provider.GetPolicyAsync("Permission");
Assert.IsInstanceOf<PermissionRequirement>(result.Requirements.First());
}
[Test]
public async Task GetPolicyAsync_GivenParameters_PolicyWithPermissions()
{
var result = await _provider.GetPolicyAsync("Permissionp1,p2");
var requirement = result.Requirements.First() as PermissionRequirement;
Assert.AreEqual("p1,p2", requirement.Permissions);
}
}
}