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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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])
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)
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)