예제 #1
0
    def test_search_allextras(self):
        # search with no query and with extra fields
        search_res = SimplifiedPeriod.search(self.secondStud, result_fieldgroups=self.allExtras)
        expected_res = [modelinstance_to_dict(self.inf101_secondsem, SimplifiedPeriod._meta.resultfields.aslist(self.allExtras)),
                        modelinstance_to_dict(self.inf110_secondsem, SimplifiedPeriod._meta.resultfields.aslist(self.allExtras))]

        self.assertEquals(search_res.count(), 2)
        for s in search_res:
            self.assertTrue(s in expected_res)
예제 #2
0
    def test_search_query(self):
        # search with query
        search_res = SimplifiedAssignment.search(self.firstStud, query='a1')
        expected_res = [modelinstance_to_dict(self.inf101_firstsem_a1, SimplifiedAssignment._meta.resultfields.aslist()),
                        modelinstance_to_dict(self.inf110_secondsem_a1, SimplifiedAssignment._meta.resultfields.aslist())]

        self.assertEquals(search_res.count(), len(expected_res))
        for s in search_res:
            self.assertTrue(s in expected_res)
예제 #3
0
    def test_read(self):

        # read firstsem without extra fields
        read_res = SimplifiedPeriod.read(self.firstStud, self.inf101_firstsem.id)
        expected_res = modelinstance_to_dict(self.inf101_firstsem, SimplifiedPeriod._meta.resultfields.aslist())
        self.assertEquals(read_res, expected_res)

        # read firstsem with extras fields
        read_res = SimplifiedPeriod.read(self.firstStud, self.inf101_firstsem.id, result_fieldgroups=self.allExtras)
        expected_res = modelinstance_to_dict(self.inf101_firstsem, SimplifiedPeriod._meta.resultfields.aslist(self.allExtras))
        self.assertEquals(read_res, expected_res)
예제 #4
0
    def test_search_queryandextras(self):
        # with query and extra fields
        search_res = SimplifiedStaticFeedback.search(self.firstStud, query='inf110', result_fieldgroups=self.allExtras)
        expected_res = [modelinstance_to_dict(self.inf110_secondsem_a1_g1_feedbacks[0],
                                              SimplifiedStaticFeedback._meta.resultfields.aslist(self.allExtras)),
                        modelinstance_to_dict(self.inf110_secondsem_a2_g1_feedbacks[0],
                                              SimplifiedStaticFeedback._meta.resultfields.aslist(self.allExtras))]

        self.assertEquals(search_res.count(), len(expected_res))
        for s in search_res:
            self.assertTrue(s in expected_res)
예제 #5
0
    def test_search_noextras(self):

        # search with no query and no extra fields
        search_res = SimplifiedPeriod.search(self.secondStud)
        expected_res = [modelinstance_to_dict(self.inf101_secondsem, SimplifiedPeriod._meta.resultfields.aslist()),
                        modelinstance_to_dict(self.inf110_secondsem, SimplifiedPeriod._meta.resultfields.aslist())]

        # assert that all search results are as expected
        self.assertEquals(search_res.count(), 2)
        for s in search_res:
            self.assertTrue(s in expected_res)
예제 #6
0
    def test_search_noextras(self):

        # search with no query and no extra fields
        search_res = SimplifiedAssignment.search(self.firstStud)
        expected_res = [modelinstance_to_dict(self.inf101_firstsem_a1, SimplifiedAssignment._meta.resultfields.aslist()),
                        modelinstance_to_dict(self.inf101_firstsem_a2, SimplifiedAssignment._meta.resultfields.aslist()),
                        modelinstance_to_dict(self.inf110_secondsem_a1, SimplifiedAssignment._meta.resultfields.aslist()),
                        modelinstance_to_dict(self.inf110_secondsem_a2, SimplifiedAssignment._meta.resultfields.aslist())]

        # assert that all search results are as expected
        self.assertEquals(search_res.count(), len(expected_res))
        for s in search_res:
            self.assertTrue(s in expected_res)
예제 #7
0
    def test_read(self):

        # do a read with no extra fields
        read_res = SimplifiedAssignmentGroup.read(self.firstStud, self.inf101_firstsem_a1.id)
        expected_res = modelinstance_to_dict(self.inf101_firstsem_a1_g1,
                                             SimplifiedAssignmentGroup._meta.resultfields.aslist())
        self.assertEquals(read_res, expected_res)

        # do a read with all extras
        read_res = SimplifiedAssignmentGroup.read(self.firstStud, self.inf101_firstsem_a1.id, result_fieldgroups=self.allExtras)
        expected_res = modelinstance_to_dict(self.inf101_firstsem_a1_g1,
                                             SimplifiedAssignmentGroup._meta.resultfields.aslist(self.allExtras))
        self.assertEquals(read_res, expected_res)
예제 #8
0
    def test_filters(self):
        # filter for all deliveries done in an assignment called
        # 'a1'. There should be 2 results, one from inf101 and the
        # other from inf110
        filters = [{'field': 'deadline__assignment_group__parentnode__short_name', 'comp': 'iexact', 'value': 'a1'}]
        search_res = SimplifiedDelivery.search(self.firstStud, filters=filters)
        expected_res = [modelinstance_to_dict(self.inf101_firstsem_a1_g1_deliveries[0],
                                              SimplifiedDelivery._meta.resultfields.aslist()),
                        modelinstance_to_dict(self.inf110_secondsem_a1_g1_deliveries[0],
                                              SimplifiedDelivery._meta.resultfields.aslist())]

        self.assertEquals(search_res.count(), len(expected_res))
        for s in search_res:
            self.assertTrue(s in expected_res)
예제 #9
0
    def test_read(self):

        # do a read with no extra fields
        read_res = SimplifiedFileMeta.read(self.firstStud, self.inf101_firstsem_a1_g1_deliveries[0].filemetas.all()[0].id)
        expected_res = modelinstance_to_dict(self.inf101_firstsem_a1_g1_deliveries[0].filemetas.all()[0],
                                             SimplifiedFileMeta._meta.resultfields.aslist())
        self.assertEquals(read_res, expected_res)

        # do a read with all extras
        read_res = SimplifiedFileMeta.read(self.firstStud, self.inf101_firstsem_a1_g1.deadlines.all()[0].id,
                                           result_fieldgroups=self.allExtras)
        expected_res = modelinstance_to_dict(self.inf101_firstsem_a1_g1_deliveries[0].filemetas.all()[0],
                                             SimplifiedFileMeta._meta.resultfields.aslist(self.allExtras))
        self.assertEquals(read_res, expected_res)
예제 #10
0
    def test_search_allextras(self):
        # search with no query and with extra fields
        search_res = SimplifiedDelivery.search(self.firstStud, result_fieldgroups=self.allExtras)
        expected_res = [modelinstance_to_dict(self.inf101_firstsem_a1_g1_deliveries[0],
                                              SimplifiedDelivery._meta.resultfields.aslist(self.allExtras)),
                        modelinstance_to_dict(self.inf101_firstsem_a2_g1_deliveries[0],
                                              SimplifiedDelivery._meta.resultfields.aslist(self.allExtras)),
                        modelinstance_to_dict(self.inf110_secondsem_a1_g1_deliveries[0],
                                              SimplifiedDelivery._meta.resultfields.aslist(self.allExtras)),
                        modelinstance_to_dict(self.inf110_secondsem_a2_g1_deliveries[0],
                                              SimplifiedDelivery._meta.resultfields.aslist(self.allExtras))]

        self.assertEquals(search_res.count(), len(expected_res))
        for s in search_res:
            self.assertTrue(s in expected_res)
예제 #11
0
    def test_search_query(self):
        # search with query
        search_res = SimplifiedPeriod.search(self.secondStud, query='inf101')
        expected_res = modelinstance_to_dict(self.inf101_secondsem, SimplifiedPeriod._meta.resultfields.aslist())

        self.assertEquals(search_res.count(), 1)
        self.assertEquals(search_res[0], expected_res)
예제 #12
0
    def test_search(self):
        # do an empty search to get all subjects firstStud
        search_res = SimplifiedSubject.search(self.firstStud)
        expected_res = [modelinstance_to_dict(self.inf101, SimplifiedSubject._meta.resultfields.aslist()),
                        modelinstance_to_dict(self.inf110, SimplifiedSubject._meta.resultfields.aslist())]

        self.assertEquals(search_res.count(), 2)
        for s in search_res:
            self.assertTrue(s in expected_res)

        # do a search with query inf101
        search_res = SimplifiedSubject.search(self.firstStud, query='inf101')
        expected_res = modelinstance_to_dict(self.inf101, SimplifiedSubject._meta.resultfields.aslist())

        self.assertEquals(search_res.count(), 1)
        self.assertEquals(search_res[0], expected_res)
예제 #13
0
    def test_search_queryandextras(self):
        # with query and extra fields
        search_res = SimplifiedPeriod.search(self.secondStud, query='inf101', result_fieldgroups=self.allExtras)
        expected_res = modelinstance_to_dict(self.inf101_secondsem, SimplifiedPeriod._meta.resultfields.aslist(self.allExtras))

        self.assertEquals(search_res.count(), 1)
        self.assertEquals(search_res[0], expected_res)
예제 #14
0
    def test_search(self):
        # search with no query and no extra fields
        # should only have the deafault deadlines created when the
        # assignment group was created
        search_res = SimplifiedFileMeta.search(self.firstStud)
        expected_res = [modelinstance_to_dict(self.inf101_firstsem_a1_g1_deliveries[0].filemetas.all()[0], self.baseFields),
                        modelinstance_to_dict(self.inf101_firstsem_a2_g1_deliveries[0].filemetas.all()[0], self.baseFields),
                        modelinstance_to_dict(self.inf110_secondsem_a1_g1_deliveries[0].filemetas.all()[0], self.baseFields),
                        modelinstance_to_dict(self.inf110_secondsem_a2_g1_deliveries[0].filemetas.all()[0], self.baseFields),
                        ]

        # assert that all search results are as expected
        self.assertEquals(search_res.count(), len(expected_res))
        for s in search_res:
            self.assertTrue(s in expected_res)

        # search with no query and with extra fields
        search_res = SimplifiedFileMeta.search(self.firstStud, result_fieldgroups=self.allExtras)
        expected_res = [modelinstance_to_dict(self.inf101_firstsem_a1_g1_deliveries[0].filemetas.all()[0], self.allFields),
                        modelinstance_to_dict(self.inf101_firstsem_a2_g1_deliveries[0].filemetas.all()[0], self.allFields),
                        modelinstance_to_dict(self.inf110_secondsem_a1_g1_deliveries[0].filemetas.all()[0], self.allFields),
                        modelinstance_to_dict(self.inf110_secondsem_a2_g1_deliveries[0].filemetas.all()[0], self.allFields),
                        ]

        self.assertEquals(search_res.count(), len(expected_res))
        for s in search_res:
            self.assertTrue(s in expected_res)

        # search with query
        search_res = SimplifiedFileMeta.search(self.firstStud, query='secondStud')
        expected_res = []

        self.assertEquals(search_res.count(), len(expected_res))
        for s in search_res:
            self.assertTrue(s in expected_res)

        # with query and extra fields
        search_res = SimplifiedFileMeta.search(self.firstStud, query='inf101', result_fieldgroups=self.allExtras)
        expected_res = [modelinstance_to_dict(self.inf101_firstsem_a1_g1_deliveries[0].filemetas.all()[0], self.allFields),
                        modelinstance_to_dict(self.inf101_firstsem_a2_g1_deliveries[0].filemetas.all()[0], self.allFields),
                        ]

        self.assertEquals(search_res.count(), len(expected_res))
        for s in search_res:
            self.assertTrue(s in expected_res)
예제 #15
0
 def test_search_queryandextras(self):
     # with query and extra fields
     search_res = SimplifiedAssignmentGroup.search(self.firstStud, query='inf110', result_fieldgroups=self.allExtras)
     test_groups = [self.inf110_secondsem_a1_g1,
                    self.inf110_secondsem_a2_g1,]
     expected_res = map(lambda group: modelinstance_to_dict(group, 
                                      SimplifiedAssignmentGroup._meta.resultfields.aslist(self.allExtras)),
                        test_groups)
     # Fix missing database fields by adding data from the test_groups
     fix_expected_data_missing_database_fields(test_groups, expected_res)
     
     self.assertEquals(search_res.count(), len(expected_res))
     for i in xrange(len(search_res)):
         self.assertEquals(search_res[i], expected_res[i])
예제 #16
0
 def test_filters(self):
     filters = [{'field': 'short_name', 'comp': 'exact', 'value': 'inf110'}]
     search_res = SimplifiedSubject.search(self.firstStud, filters=filters)
     expected_res = modelinstance_to_dict(self.inf110, SimplifiedSubject._meta.resultfields.aslist())
     self.assertEquals(search_res[0], expected_res)
예제 #17
0
 def test_read(self):
     # read firstsem without extra fields
     read_res = SimplifiedSubject.read(self.firstStud, self.inf101.id)
     expected_res = modelinstance_to_dict(self.inf101, SimplifiedSubject._meta.resultfields.aslist())
     self.assertEquals(read_res, expected_res)