コード例 #1
0
ファイル: mixins.py プロジェクト: xlecours/osf.io
 def subG(self, subD):
     return SubjectFactory(text='G', parent=subD)
コード例 #2
0
 def subject_a(self):
     return SubjectFactory(text='Z')
コード例 #3
0
 def create_subject_rules(self):
     '''
     Subject Hierarchy
     +-----------------------------+
     |                             |
     |      +-------->B+----->F    |
     |      |                      |
     |  A+----------->C            |
     |      |                      |
     |      +-------->D+----->G    |
     |                             |
     |  H+------>I+----->J         |
     |            |                |
     |            +----->K         |
     |                             |
     |  L+------>M+----->N         |
     |            |                |
     |            +------->E       |
     |                             |
     |  O                          |
     +-----------------------------+
     '''
     self.subA = SubjectFactory(text='A')
     self.subB = SubjectFactory(text='B', parent=self.subA)
     self.subC = SubjectFactory(text='C', parent=self.subA)
     self.subD = SubjectFactory(text='D', parent=self.subA)
     self.subF = SubjectFactory(text='F', parent=self.subB)
     self.subG = SubjectFactory(text='G', parent=self.subD)
     self.subH = SubjectFactory(text='H')
     self.subI = SubjectFactory(text='I', parent=self.subH)
     self.subJ = SubjectFactory(text='J', parent=self.subI)
     self.subK = SubjectFactory(text='K', parent=self.subI)
     self.subL = SubjectFactory(text='L')
     self.subM = SubjectFactory(text='M', parent=self.subL)
     self.subE = SubjectFactory(text='E', parent=self.subM)
     self.subN = SubjectFactory(text='N', parent=self.subM)
     self.subO = SubjectFactory(text='O')
     rules = [([self.subA._id, self.subB._id], False),
              ([self.subA._id, self.subD._id], True),
              ([self.subH._id, self.subI._id, self.subJ._id], True),
              ([self.subL._id], True)]
     #  This should allow: A, B, D, G, H, I, J, L, M, N and E
     #  This should not allow: C, F, K, O
     return rules
コード例 #4
0
 def setUp(self):
     super(TestSubjectEditValidation, self).setUp()
     self.subject = SubjectFactory()
コード例 #5
0
 def subject(self):
     return SubjectFactory(text='A')
コード例 #6
0
ファイル: mixins.py プロジェクト: xlecours/osf.io
 def subj_a(self, provider):
     return SubjectFactory(provider=provider, text='A')
コード例 #7
0
ファイル: mixins.py プロジェクト: xlecours/osf.io
 def subject_one(self):
     return SubjectFactory()
コード例 #8
0
ファイル: mixins.py プロジェクト: xlecours/osf.io
 def subN(self, subM):
     return SubjectFactory(text='N', parent=subM)
コード例 #9
0
ファイル: mixins.py プロジェクト: xlecours/osf.io
 def subO(self):
     return SubjectFactory(text='O')
コード例 #10
0
ファイル: mixins.py プロジェクト: xlecours/osf.io
 def subL(self):
     return SubjectFactory(text='L')
コード例 #11
0
ファイル: mixins.py プロジェクト: xlecours/osf.io
 def subM(self, subL):
     return SubjectFactory(text='M', parent=subL)
コード例 #12
0
ファイル: mixins.py プロジェクト: xlecours/osf.io
 def subK(self, subI):
     return SubjectFactory(text='K', parent=subI)
コード例 #13
0
ファイル: mixins.py プロジェクト: xlecours/osf.io
 def subI(self, subH):
     return SubjectFactory(text='I', parent=subH)
コード例 #14
0
ファイル: mixins.py プロジェクト: xlecours/osf.io
 def subH(self):
     return SubjectFactory(text='H')
コード例 #15
0
ファイル: mixins.py プロジェクト: xlecours/osf.io
 def bepress_subj(self, osf_provider):
     return SubjectFactory(text='BePress Text', provider=osf_provider)
コード例 #16
0
ファイル: mixins.py プロジェクト: xlecours/osf.io
 def root_subject_1(self, provider_1):
     return SubjectFactory(text='R1', provider=provider_1)
コード例 #17
0
ファイル: mixins.py プロジェクト: xlecours/osf.io
 def other_subj(self, bepress_subj, asdf_provider):
     return SubjectFactory(text='Other Text', bepress_subject=bepress_subj, provider=asdf_provider)
コード例 #18
0
ファイル: mixins.py プロジェクト: xlecours/osf.io
 def parent_subject_1(self, provider_1, root_subject_1):
     return SubjectFactory(text='P1', provider=provider_1, parent=root_subject_1)
コード例 #19
0
ファイル: mixins.py プロジェクト: xlecours/osf.io
 def subj_aa(self, provider, subj_a):
     return SubjectFactory(provider=provider, text='AA', parent=subj_a, highlighted=True)
コード例 #20
0
ファイル: mixins.py プロジェクト: xlecours/osf.io
 def rootOther(self, provider_1):
     return SubjectFactory(text='Other 1', provider=provider_1)
コード例 #21
0
    def setUp(self):
        super(TestSubjectTreeValidation, self).setUp()

        self.root_subject = SubjectFactory()
        self.one_level_root = SubjectFactory()
        self.two_level_root = SubjectFactory()
        self.outside_root = SubjectFactory()

        self.root_subject.save()
        self.outside_root.save()
        self.two_level_root.save()
        self.one_level_root.save()

        self.parent_subj_0 = SubjectFactory(parent=self.root_subject)
        self.parent_subj_1 = SubjectFactory(parent=self.root_subject)
        self.two_level_parent = SubjectFactory(parent=self.two_level_root)

        self.outside_parent = SubjectFactory(parent=self.outside_root)

        self.parent_subj_0.save()
        self.parent_subj_1.save()
        self.outside_parent.save()
        self.two_level_parent.save()

        self.child_subj_00 = SubjectFactory(parent=self.parent_subj_0)
        self.child_subj_01 = SubjectFactory(parent=self.parent_subj_0)
        self.child_subj_10 = SubjectFactory(parent=self.parent_subj_1)
        self.child_subj_11 = SubjectFactory(parent=self.parent_subj_1)
        self.outside_child = SubjectFactory(parent=self.outside_parent)

        self.child_subj_00.save()
        self.child_subj_01.save()
        self.child_subj_10.save()
        self.child_subj_11.save()
        self.outside_child.save()

        self.valid_full_hierarchy = [self.root_subject._id, self.parent_subj_0._id, self.child_subj_00._id]
        self.valid_two_level_hierarchy = [self.two_level_root._id, self.two_level_parent._id]
        self.valid_one_level_hierarchy = [self.one_level_root._id]
        self.valid_partial_hierarchy = [self.root_subject._id, self.parent_subj_1._id]
        self.valid_root = [self.root_subject._id]

        self.no_root = [self.parent_subj_0._id, self.child_subj_00._id]
        self.no_parent = [self.root_subject._id, self.child_subj_00._id]
        self.invalid_child_leaf = [self.root_subject._id, self.parent_subj_0._id, self.child_subj_10._id]
        self.invalid_parent_leaf = [self.root_subject._id, self.outside_parent._id, self.child_subj_00._id]
        self.invalid_root_leaf = [self.outside_root._id, self.parent_subj_0._id, self.child_subj_00._id]
        self.invalid_ids = ['notarealsubjectid', 'thisisalsoafakeid']
コード例 #22
0
ファイル: mixins.py プロジェクト: xlecours/osf.io
 def child_subject_1(self, provider_1, parent_subject_1):
     return SubjectFactory(text='C1', provider=provider_1, parent=parent_subject_1)
コード例 #23
0
 def test_max_highlighted_count(self):
     highlights = [SubjectFactory(provider=self.subject.provider, highlighted=True) for _ in range(10)]
     with assert_raises(ValidationError):
         self.subject.highlighted=True
         self.subject.save()
コード例 #24
0
ファイル: mixins.py プロジェクト: xlecours/osf.io
 def root_subject_2(self, provider_2):
     return SubjectFactory(text='R2', provider=provider_2)
コード例 #25
0
 def subject_other(self):
     return SubjectFactory(text='Other Sub')
コード例 #26
0
ファイル: mixins.py プロジェクト: xlecours/osf.io
 def parent_subject_2(self, provider_2, root_subject_2):
     return SubjectFactory(text='P2', provider=provider_2, parent=root_subject_2)
コード例 #27
0
 def subject_child_two(self, subject):
     return SubjectFactory(parent=subject)
コード例 #28
0
ファイル: mixins.py プロジェクト: xlecours/osf.io
 def child_subject_2(self, provider_2, parent_subject_2):
     return SubjectFactory(text='C2', provider=provider_2, parent=parent_subject_2)
コード例 #29
0
 def subject(self):
     return SubjectFactory()
コード例 #30
0
ファイル: mixins.py プロジェクト: xlecours/osf.io
 def subF(self, subB):
     return SubjectFactory(text='F', parent=subB)