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(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); } } }