コード例 #1
0
    def test_delete_project_error_when_child_project(self):
        project = self.project
        child_project = Project(title='child parent').save()
        project.child_projects.connect(child_project)

        with self.assertRaises(RelationshipConstraintError):
            ProjectManager.delete_project(project.uuid)
コード例 #2
0
    def test_delete_project_error_when_contribution(self):
        project = self.project
        contribution = Contribution(title='contribution').save()
        project.contributions.connect(contribution)

        with self.assertRaises(RelationshipConstraintError):
            ProjectManager.delete_project(project.uuid)
コード例 #3
0
    def mutate(root, args, context, info):
        ok = False
        message = None

        try:
            ProjectManager.delete_project(args['uuid'])
            ok = True
        except DoesNotExistError or RelationshipConstraintError as e:
            message = e

        return DeleteProjectMutation(ok=ok, message=message)
コード例 #4
0
    def test_create_project_happy_no_parent_project(self):
        profile = self.profile
        project = ProjectManager.create_project(profile.uuid, 'project')

        # persistence
        self.assertEqual(Project.nodes.get(uuid=project.uuid), project)

        # property
        self.assertEqual(project.title, 'project')

        # relationships
        self.assertEqual(project.profile.get(), profile)
        self.assertIn(project, profile.projects.all())
コード例 #5
0
    def mutate(root, args, context, info):
        new_project = None
        ok = False
        message = None

        parent_project_uuid = None
        if 'parentProjectUuid' in args:
            parent_project_uuid = args['parentProjectUuid']

        try:
            new_project = ProjectManager.create_project(
                profile_uuid=args['profileUuid'],
                title=args['title'],
                parent_project_uuid=parent_project_uuid)
            ok = True
        except DoesNotExistError as e:
            message = e

        return CreateProjectMutation(project=new_project,
                                     ok=ok,
                                     message=message)
コード例 #6
0
    def test_delete_project_error_when_missing(self):
        bad_uuid = shuffle_string(self.project.uuid)

        with self.assertRaises(DoesNotExistError):
            ProjectManager.delete_project(bad_uuid)
コード例 #7
0
 def test_delete_project_happy(self):
     uuid = self.project.uuid
     ProjectManager.delete_project(uuid)
     self.assertIsNone(Project.nodes.get_or_none(uuid=uuid))
コード例 #8
0
    def test_create_project_error_when_missing_parent_project(self):
        bad_uuid = shuffle_string(self.parent_project.uuid)

        with self.assertRaises(DoesNotExistError):
            project = ProjectManager.create_project(self.profile.uuid,
                                                    'project', bad_uuid)