Files
Umbraco-CMS/src/Umbraco.Tests/Models/UserExtensionsTests.cs

30 lines
1.1 KiB
C#
Raw Normal View History

using Moq;
using NUnit.Framework;
2017-07-18 15:09:34 +02:00
using Umbraco.Core;
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>();
2017-06-23 11:43:58 +10:00
userMock.Setup(u => u.AllStartContentIds).Returns(new[]{ userId });
var user = userMock.Object;
var contentMock = new Mock<IContent>();
2013-09-26 11:58:03 +10:00
contentMock.Setup(c => c.Path).Returns(contentPath);
var content = contentMock.Object;
2017-07-18 15:09:34 +02:00
Assert.AreEqual(outcome, user.HasPathAccess(content, ApplicationContext.Current.Services.EntityService));
}
}
}