29 lines
1.0 KiB
C#
29 lines
1.0 KiB
C#
using Moq;
|
|
using NUnit.Framework;
|
|
using Umbraco.Core.Models;
|
|
using Umbraco.Core.Models.Membership;
|
|
|
|
namespace Umbraco.Tests.Models
|
|
{
|
|
[TestFixture]
|
|
public class UserExtensionsTests
|
|
{
|
|
[TestCase(2, "-1,1,2,3,4,5", true)]
|
|
[TestCase(6, "-1,1,2,3,4,5", false)]
|
|
[TestCase(-1, "-1,1,2,3,4,5", true)]
|
|
[TestCase(5, "-1,1,2,3,4,5", true)]
|
|
[TestCase(-1, "-1,-20,1,2,3,4,5", true)]
|
|
[TestCase(1, "-1,-20,1,2,3,4,5", false)]
|
|
public void Determines_Path_Based_Access_To_Content(int userId, string contentPath, bool outcome)
|
|
{
|
|
var userMock = new Mock<IUser>();
|
|
userMock.Setup(u => u.AllStartContentIds).Returns(new[]{ userId });
|
|
var user = userMock.Object;
|
|
var contentMock = new Mock<IContent>();
|
|
contentMock.Setup(c => c.Path).Returns(contentPath);
|
|
var content = contentMock.Object;
|
|
|
|
Assert.AreEqual(outcome, user.HasPathAccess(content));
|
|
}
|
|
}
|
|
} |