Exemplo n.º 1
0
    def test_registration_clones_project_wiki_pages(self, mock_signal, project, user):
        project = factories.ProjectFactory(creator=user, is_public=True)
        wiki_page = WikiFactory(
            user=user,
            node=project,
        )
        wiki = WikiVersionFactory(
            wiki_page=wiki_page,
        )
        current_wiki = WikiVersionFactory(
            wiki_page=wiki_page,
            identifier=2
        )
        draft_reg = factories.DraftRegistrationFactory(branched_from=project)
        registration = project.register_node(get_default_metaschema(), Auth(user), draft_reg, None)
        assert registration.wiki_private_uuids == {}

        registration_wiki_current = WikiVersion.objects.get_for_node(registration, current_wiki.wiki_page.page_name)
        assert registration_wiki_current.wiki_page.node == registration
        assert registration_wiki_current._id != current_wiki._id
        assert registration_wiki_current.identifier == 2

        registration_wiki_version = WikiVersion.objects.get_for_node(registration, wiki.wiki_page.page_name, version=1)
        assert registration_wiki_version.wiki_page.node == registration
        assert registration_wiki_version._id != wiki._id
        assert registration_wiki_version.identifier == 1
 def make_draft_registration(node=None):
     draft_registration = DraftRegistration.create_from_node(
         user=user,
         schema=get_default_metaschema(),
         data={},
         node=node if node else None
     )
     user.affiliated_institutions.add(institution)
     draft_registration.set_title(title, Auth(user))
     draft_registration.set_description(description, Auth(user))
     draft_registration.category = category
     draft_registration.add_contributor(write_contrib, permissions=WRITE)
     draft_registration.set_node_license(
         {
             'id': license.license_id,
             'year': NEW_YEAR,
             'copyrightHolders': COPYLEFT_HOLDERS
         },
         auth=Auth(user),
         save=True
     )
     draft_registration.add_tag('savanna', Auth(user))
     draft_registration.add_tag('taxonomy', Auth(user))
     draft_registration.set_subjects([[subject._id]], auth=Auth(draft_registration.creator))
     draft_registration.affiliated_institutions.add(institution)
     draft_registration.save()
     return draft_registration
 def test_create_draft_registration_without_node(self, user):
     data = {'some': 'data'}
     draft = DraftRegistration.create_from_node(
         user=user,
         schema=get_default_metaschema(),
         data=data,
     )
     assert draft.title == 'Untitled'
     assert draft.branched_from.title == 'Untitled'
     assert draft.branched_from.type == 'osf.draftnode'
     assert draft.branched_from.creator == user
     assert len(draft.logs.all()) == 0
    def test_register_draft_node(self, user, draft_node, draft_registration):
        assert draft_node.type == 'osf.draftnode'

        with disconnected_from_listeners(after_create_registration):
            registration = draft_node.register_node(get_default_metaschema(), Auth(user), draft_registration, None)

        assert type(registration) is Registration
        assert draft_node._id != registration._id
        draft_node.reload()
        assert draft_node.type == 'osf.node'
        assert len(draft_node.logs.all()) == 1
        assert draft_node.logs.first().action == NodeLog.PROJECT_CREATED_FROM_DRAFT_REG
 def schema(self):
     return get_default_metaschema()