def testStudentsInfoList(self): """Tests the studentsInfoList component of the dashboard. """ student = GCIProfileHelper( self.gci, self.dev_test).createOtherUser('*****@*****.**').createStudent() info = student.student_info #We do this because currently the seeder can not seed the #BlobReference properties. What we do below is not correct in practice, but #is ok for testing purpose. consent_form = blobstore.BlobKey( 'I cant allow u to participate in GCI :P') info.consent_form = consent_form info.put() score_properties = { 'points': 5, 'program': self.gci, 'parent': student } score = GCIScore(**score_properties) score.put() idx = 1 #Set the current user to be the host. self.data.createHost() response = self.get(self.url) self.assertStudentsInfoTemplatesUsed(response) response = self.getListResponse(self.url, idx) self.assertIsJsonResponse(response) data = self.getListData(self.url, idx) self.assertEqual(len(data), 1) #Only the consent form has been submitted. self.assertEqual(data[0]['columns']['consent_form'], 'Yes') self.assertEqual(data[0]['columns']['student_id_form'], 'No') #Case when both the forms have been submitted. student_id_form = blobstore.BlobKey('student_id') info.student_id_form = student_id_form info.put() data = self.getListData(self.url, idx) self.assertEqual(len(data), 1) self.assertEqual(data[0]['columns']['consent_form'], 'Yes') self.assertEqual(data[0]['columns']['student_id_form'], 'Yes') #Case when none of the two forms have been submitted. info.consent_form = None info.student_id_form = None info.put() data = self.getListData(self.url, idx) self.assertEqual(len(data), 1) list_fields = data[0]['columns'] self.assertEqual(list_fields['consent_form'], 'No') self.assertEqual(list_fields['student_id_form'], 'No') self.assertEqual(list_fields['name'], student.name()) self.assertEqual(list_fields['link_id'], student.link_id) self.assertEqual(list_fields['email'], student.email)
def testStudentsInfoList(self): """Tests the studentsInfoList component of the dashboard. """ student = GCIProfileHelper(self.gci, self.dev_test).createOtherUser( '*****@*****.**').createStudent() info = student.student_info #We do this because currently the seeder can not seed the #BlobReference properties. What we do below is not correct in practice, but #is ok for testing purpose. consent_form = blobstore.BlobKey('I cant allow u to participate in GCI :P') info.consent_form = consent_form info.put() score_properties = {'points': 5, 'program': self.gci, 'parent': student} score = GCIScore(**score_properties) score.put() idx = 1 #Set the current user to be the host. self.data.createHost() response = self.get(self.url) #print response self.assertStudentsInfoTemplatesUsed(response) response = self.getListResponse(self.url, idx) #print response self.assertIsJsonResponse(response) data = self.getListData(self.url, idx) #print data self.assertEqual(len(data), 1) #Only the consent form has been submitted. self.assertEqual(data[0]['columns']['consent_form'], 'Yes') self.assertEqual(data[0]['columns']['student_id_form'], 'No') #Case when both the forms have been submitted. student_id_form = blobstore.BlobKey('student_id') info.student_id_form = student_id_form info.put() data = self.getListData(self.url, idx) self.assertEqual(len(data), 1) self.assertEqual(data[0]['columns']['consent_form'], 'Yes') self.assertEqual(data[0]['columns']['student_id_form'], 'Yes') #Case when none of the two forms are submitted. info.consent_form = None info.student_id_form = None info.put() data = self.getListData(self.url, idx) self.assertEqual(len(data), 1) list_fields = data[0]['columns'] self.assertEqual(list_fields['consent_form'], 'No') self.assertEqual(list_fields['student_id_form'], 'No') self.assertEqual(list_fields['name'], student.name()) self.assertEqual(list_fields['link_id'], student.link_id) self.assertEqual(list_fields['email'], student.email)