def test_update_wiki_updates_comments_and_user_comments_viewed_timestamp( self): project = ProjectFactory(creator=self.user, is_public=True) wiki = NodeWikiFactory(node=project, page_name='test') comment = CommentFactory(node=project, target=Guid.load(wiki._id), user=UserFactory()) # user views comments -- sets user.comments_viewed_timestamp url = project.api_url_for('update_comments_timestamp') res = self.app.put_json(url, { 'page': 'wiki', 'rootId': wiki._id }, auth=self.user.auth) assert res.status_code == 200 self.user.reload() assert wiki._id in self.user.comments_viewed_timestamp # user updates the wiki project.update_node_wiki('test', 'Updating wiki', self.auth) comment.reload() self.user.reload() new_version_id = project.wiki_pages_current['test'] assert new_version_id in self.user.comments_viewed_timestamp assert wiki._id not in self.user.comments_viewed_timestamp assert comment.target.referent._id == new_version_id
def test_update_wiki_updates_contributor_comments_viewed_timestamp(self): contributor = AuthUserFactory() project = ProjectFactory(creator=self.user, is_public=True) project.add_contributor(contributor) project.save() wiki_page = WikiFactory(node=project, page_name='test') wiki = WikiVersionFactory(wiki_page=wiki_page) comment = CommentFactory(node=project, target=Guid.load(wiki_page._id), user=self.user) # user views comments -- sets user.comments_viewed_timestamp url = project.api_url_for('update_comments_timestamp') res = self.app.put_json(url, { 'page': 'wiki', 'rootId': wiki_page._id }, auth=self.user.auth) assert res.status_code == 200 self.user.reload() assert wiki_page._id in self.user.comments_viewed_timestamp # contributor views comments -- sets contributor.comments_viewed_timestamp res = self.app.put_json(url, { 'page': 'wiki', 'rootId': wiki_page._id }, auth=contributor.auth) contributor.reload() assert wiki_page._id in contributor.comments_viewed_timestamp # user updates the wiki project.update_node_wiki('test', 'Updating wiki', self.auth) comment.reload() contributor.reload() new_version_id = project.get_wiki_version('test')._id assert wiki_page._id in contributor.comments_viewed_timestamp assert comment.target.referent._id == wiki_page._id
def test_populate_with_modified(self): statement = migrate_deleted_date.UPDATE_DELETED_WITH_MODIFIED table = 'osf_comment' user = UserFactory() project = ProjectFactory(creator=user) comment = CommentFactory(user=user, node=project) comment.delete(Auth(user), save=True) comment.reload() assert(comment.deleted) comment.deleted = None comment.save() migrate_deleted_date.run_statements(statement, 1000, table) comment.reload() assert(comment.deleted) assert(comment.deleted == comment.modified)
def test_update_wiki_updates_comments_and_user_comments_viewed_timestamp(self): project = ProjectFactory(creator=self.user, is_public=True) wiki_page = WikiFactory(node=project, page_name='test') wiki = WikiVersionFactory(wiki_page=wiki_page) comment = CommentFactory(node=project, target=Guid.load(wiki_page._id), user=UserFactory()) # user views comments -- sets user.comments_viewed_timestamp url = project.api_url_for('update_comments_timestamp') res = self.app.put_json(url, { 'page': 'wiki', 'rootId': wiki_page._id }, auth=self.user.auth) assert res.status_code == 200 self.user.reload() assert wiki_page._id in self.user.comments_viewed_timestamp # user updates the wiki wiki_page.update(self.user, 'Updating wiki') comment.reload() self.user.reload() assert wiki_page._id in self.user.comments_viewed_timestamp assert comment.target.referent._id == wiki_page._id