public void EditingShouldSetModifiedUtc() { var contentManager = _container.Resolve <IContentManager>(); var createUtc = _clock.UtcNow; var item = contentManager.Create <ICommonPart>("test-item", VersionOptions.Draft, init => { }); contentManager.Publish(item.ContentItem); Assert.That(item.CreatedUtc, Is.EqualTo(createUtc)); Assert.That(item.ModifiedUtc, Is.EqualTo(createUtc)); Assert.That(item.PublishedUtc, Is.EqualTo(createUtc)); _clock.Advance(TimeSpan.FromMinutes(1)); var editUtc = _clock.UtcNow; var updater = new UpdatModelStub() { Owner = "" }; contentManager.UpdateEditor(item.ContentItem, updater); Assert.That(item.CreatedUtc, Is.EqualTo(createUtc)); Assert.That(item.ModifiedUtc, Is.EqualTo(editUtc)); Assert.That(item.PublishedUtc, Is.EqualTo(createUtc)); Assert.That(updater.ModelErrors.Count, Is.EqualTo(0)); }
public void PublishingShouldNotFailIfOwnerIsEmptyAndShapeIsHidden() { var contentManager = _container.Resolve <IContentManager>(); var item = contentManager.Create <ICommonPart>("test-item", VersionOptions.Draft, init => { }); var user = contentManager.New <IUser>("User"); _authn.Setup(x => x.GetAuthenticatedUser()).Returns(user); _authz.Setup(x => x.TryCheckAccess(StandardPermissions.SiteOwner, user, item)).Returns(true); item.Owner = user; var updater = new UpdatModelStub() { Owner = "" }; _container.Resolve <DefaultShapeTableManagerTests.TestShapeProvider>().Discover = b => b.Describe("Parts_Common_Owner_Edit").From(TestFeature()) .Placement(ctx => new PlacementInfo { Location = "-" }); contentManager.UpdateEditor(item.ContentItem, updater); Assert.That(updater.ModelErrors.ContainsKey("OwnerEditor.Owner"), Is.False); }
public void PublishingShouldFailIfOwnerIsEmpty() { var contentManager = _container.Resolve <IContentManager>(); var item = contentManager.Create <ICommonPart>("test-item", VersionOptions.Draft, init => { }); var user = contentManager.New <IUser>("User"); _authn.Setup(x => x.GetAuthenticatedUser()).Returns(user); _authz.Setup(x => x.TryCheckAccess(StandardPermissions.SiteOwner, user, item)).Returns(true); item.Owner = user; var updater = new UpdatModelStub() { Owner = "" }; _container.Resolve <DefaultShapeTableManagerTests.TestShapeProvider>().Discover = b => b.Describe("Parts_Common_Owner_Edit").From(TestFeature()) .Placement(ShapePlacementParsingStrategy.BuildPredicate(c => true, new KeyValuePair <string, string>("Path", "~/yadda")), new PlacementInfo { Location = "Match" }); contentManager.UpdateEditor(item.ContentItem, updater); Assert.That(updater.ModelErrors.ContainsKey("OwnerEditor.Owner"), Is.True); }
public void PublishingShouldNotThrowExceptionIfOwnerIsNull() { var contentManager = _container.Resolve <IContentManager>(); var item = contentManager.Create <ICommonPart>("test-item", VersionOptions.Draft, init => { }); var user = contentManager.New <IUser>("User"); _authn.Setup(x => x.GetAuthenticatedUser()).Returns(user); _authz.Setup(x => x.TryCheckAccess(StandardPermissions.SiteOwner, user, item)).Returns(true); item.Owner = user; var updater = new UpdatModelStub() { Owner = null }; contentManager.UpdateEditor(item.ContentItem, updater); }
public void EditingShouldSetModifiedUtc() { var contentManager = _container.Resolve <IContentManager>(); var user = contentManager.New <IUser>("User"); _authn.Setup(x => x.GetAuthenticatedUser()).Returns(user); var createUtc = _clock.UtcNow; var item = contentManager.Create <ICommonPart>("test-item", VersionOptions.Draft, init => { }); contentManager.Publish(item.ContentItem); Assert.That(item.CreatedUtc, Is.EqualTo(createUtc)); Assert.That(item.ModifiedUtc, Is.EqualTo(createUtc)); Assert.That(item.VersionModifiedBy, Is.EqualTo(user.UserName)); Assert.That(item.PublishedUtc, Is.EqualTo(createUtc)); // Switch user var secondUser = contentManager.New <IUser>("AlternateUser"); _authn.Setup(x => x.GetAuthenticatedUser()).Returns(secondUser); _clock.Advance(TimeSpan.FromMinutes(1)); var editUtc = _clock.UtcNow; var updater = new UpdatModelStub() { Owner = "" }; contentManager.UpdateEditor(item.ContentItem, updater); Assert.That(item.CreatedUtc, Is.EqualTo(createUtc)); Assert.That(item.ModifiedUtc, Is.EqualTo(editUtc)); Assert.That(item.PublishedUtc, Is.EqualTo(createUtc)); Assert.That(updater.ModelErrors.Count, Is.EqualTo(0)); Assert.That(item.VersionModifiedBy, Is.EqualTo(secondUser.UserName)); }