using System; using System.Collections.Generic; using System.Linq; using System.Text; using Autofac.Builder; using Moq; using NUnit.Framework; using Orchard.Core.Common.Models; using Orchard.Core.Common.Providers; using Orchard.Core.Common.Records; using Orchard.Models; using Orchard.Models.Driver; using Orchard.Models.Records; using Orchard.Security; using Orchard.Tests.Packages; namespace Orchard.Core.Tests.Common.Providers { [TestFixture] public class CommonAspectProviderTests : DatabaseEnabledTestsBase { private Mock _authn; private Mock _authz; private Mock _membership; public override void Register(ContainerBuilder builder) { builder.Register().As(); builder.Register().As(); builder.Register().As(); _authn = new Mock(); _authz = new Mock(); _membership = new Mock(); builder.Register(_authn.Object); builder.Register(_authz.Object); builder.Register(_membership.Object); } protected override IEnumerable DatabaseTypes { get { return new[] {typeof (ContentTypeRecord), typeof (ContentItemRecord), typeof (CommonRecord)}; } } class TestHandler : ContentHandler { public TestHandler() { Filters.Add(new ActivatingFilter("test-item")); Filters.Add(new ActivatingFilter("user")); } } class TestUser : ContentPart, IUser { public int Id { get { return 6655321; } } public string UserName {get { return "x"; }} public string Email { get { return "y"; } } } [Test] public void OwnerShouldBeNullAndZeroByDefault() { var contentManager = _container.Resolve(); var item = contentManager.Create("test-item", init => { }); ClearSession(); Assert.That(item.Owner, Is.Null); Assert.That(item.Record.OwnerId, Is.EqualTo(0)); } [Test,Ignore("This testing is still being worked out")] public void OwnerShouldBeAuthenticatedUserIfAvailable() { var contentManager = _container.Resolve(); var user = contentManager.New("user"); _authn.Setup(x => x.GetAuthenticatedUser()).Returns(user); var item = contentManager.Create("test-item", init => { }); ClearSession(); Assert.That(item.Record.OwnerId, Is.EqualTo(6655321)); } } }