Example #1
0
    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)
Example #2
0
  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)