예제 #1
0
파일: ranking.py 프로젝트: adviti/melange
def getOrCreateForStudent(student):
  """Gets or creates the ranking object for the student.

  Args:
    student: GCIProfile entity representing the student.
  """
  q = GCIStudentRanking.all()
  q.filter('student', student)
  ranking = q.get()

  if not ranking:
    # create a new one
    ranking = GCIStudentRanking(program=student.scope, student=student)
    ranking.put()

  return ranking
예제 #2
0
    def testGetOrCreateForStudent(self):
        """Tests if an appropriate ranking object is created for a student.
    """
        #There is no GCIStudentRanking object for self.student in the datastore.
        #Hence, a new entity should be created and returned.
        q = GCIStudentRanking.all()
        q.filter('student', self.student)
        ranking = q.get()

        self.assertEqual(ranking, None)

        actual_ranking = ranking_logic.getOrCreateForStudent(self.student)
        q = GCIStudentRanking.all()
        q.filter('student', self.student)
        expected_ranking = q.get()
        self.assertEqual(expected_ranking.key(), actual_ranking.key())

        #GCIStudentRanking object already exists for a student.
        student = GCIProfileHelper(
            self.program,
            False).createOtherUser('*****@*****.**').createStudent()
        ranking = GCIStudentRanking(program=student.scope, student=student)
        ranking.put()
        actual_ranking = ranking_logic.getOrCreateForStudent(student)

        self.assertEqual(ranking.key(), actual_ranking.key())
예제 #3
0
  def testGetOrCreateForStudent(self):
    """Tests if an appropriate ranking object is created for a student.
    """
    #There is no GCIStudentRanking object for self.student in the datastore.
    #Hence, a new entity should be created and returned.
    q = GCIStudentRanking.all()
    q.filter('student', self.student)
    ranking = q.get()

    self.assertEqual(ranking, None)

    actual_ranking = ranking_logic.getOrCreateForStudent(self.student)
    q = GCIStudentRanking.all()
    q.filter('student', self.student)
    expected_ranking = q.get()
    self.assertEqual(expected_ranking.key(), actual_ranking.key())

    #GCIStudentRanking object already exists for a student.
    student = GCIProfileHelper(self.program, False).createOtherUser(
        '*****@*****.**').createStudent()
    ranking = GCIStudentRanking(program=student.scope, student=student)
    ranking.put()
    actual_ranking = ranking_logic.getOrCreateForStudent(student)

    self.assertEqual(ranking.key(), actual_ranking.key())