public void proxyShouldBeUpdatedWhenDocumentIsModifiedForPrivateArticle()
throws Exception {
DocumentModel article = createSocialDocument(
socialWorkspaceDoc.getPathAsString(), "A private Article",
SocialConstants.ARTICLE_TYPE, false);
SocialDocument socialDocument = toSocialDocument(article);
DocumentModel initialExposedDocument = socialDocument.getRestrictedDocument();
article = updateTitle(article, "Test1");
socialDocument = toSocialDocument(article);
DocumentModel exposedDocument = socialDocument.getRestrictedDocument();
assertEquals("Test1", exposedDocument.getPropertyValue("dc:title"));
assertEquals(initialExposedDocument.getId(), exposedDocument.getId());
socialDocument.makePublic();
exposedDocument = socialDocument.getPublicDocument();
assertEquals("Test1", exposedDocument.getPropertyValue("dc:title"));
assertNotSame(initialExposedDocument.getId(), exposedDocument.getId());
// Id change for Article when visibility change
initialExposedDocument = exposedDocument;
article = updateTitle(article, "Test2");
socialDocument = toSocialDocument(article);
exposedDocument = socialDocument.getPublicDocument();
assertEquals("Test2", exposedDocument.getPropertyValue("dc:title"));
assertEquals(initialExposedDocument.getId(), exposedDocument.getId());
socialDocument.restrictToMembers();
exposedDocument = socialDocument.getRestrictedDocument();
assertEquals("Test2", exposedDocument.getPropertyValue("dc:title"));
assertNotSame(initialExposedDocument.getId(), exposedDocument.getId());
// Id change for Article when visibility change
}