def test_clear_request_on_update_requests_with_no_email(self):
        bella = self.make_user('*****@*****.**')
        edward = self.make_user('*****@*****.**')
        CoachRequest.get_or_insert_for(edward, bella)

        coaches.update_requests(bella, [])

        requests_for_bella = CoachRequest.get_for_student(bella).fetch(1000)
        self.assertEqual(0, len(requests_for_bella))

        requests_by_edward = CoachRequest.get_for_coach(edward).fetch(1000)
        self.assertEqual(0, len(requests_by_edward))
    def test_ignore_nonexistent_requester_email_on_update_requests(self):
        renesmee = self.make_user('*****@*****.**')
        jacob = self.make_user('*****@*****.**')
        CoachRequest.get_or_insert_for(jacob, renesmee)

        coaches_json = [{
            'email': '*****@*****.**',
            'isCoachingLoggedInUser': False,
        }]
        coaches.update_requests(renesmee, coaches_json)
        requests_for_renesmee = CoachRequest.get_for_student(renesmee).fetch(1000)
        self.assertEqual(0, len(requests_for_renesmee))
    def test_clear_request_on_update_requests_with_no_email(self):
        bella = self.make_user('*****@*****.**')
        edward = self.make_user('*****@*****.**')
        CoachRequest.get_or_insert_for(edward, bella)

        coaches.update_requests(bella, [])

        requests_for_bella = CoachRequest.get_for_student(bella).fetch(1000)
        self.assertEqual(0, len(requests_for_bella))

        requests_by_edward = CoachRequest.get_for_coach(edward).fetch(1000)
        self.assertEqual(0, len(requests_by_edward))
    def test_ignore_nonexistent_requester_email_on_update_requests(self):
        renesmee = self.make_user('*****@*****.**')
        jacob = self.make_user('*****@*****.**')
        CoachRequest.get_or_insert_for(jacob, renesmee)

        coaches_json = [{
            'email': '*****@*****.**',
            'isCoachingLoggedInUser': False,
        }]
        coaches.update_requests(renesmee, coaches_json)
        requests_for_renesmee = CoachRequest.get_for_student(renesmee).fetch(
            1000)
        self.assertEqual(0, len(requests_for_renesmee))
    def test_noop_on_update_requests_with_email(self):
        bella = self.make_user('*****@*****.**')
        jacob = self.make_user('*****@*****.**')

        CoachRequest.get_or_insert_for(jacob, bella)

        coaches.update_requests(bella, [jacob.key_email])

        requests_for_bella = CoachRequest.get_for_student(bella).fetch(1000)
        self.assertEqual(1, len(requests_for_bella))

        requests_by_jacob = CoachRequest.get_for_coach(jacob).fetch(1000)
        self.assertEqual(1, len(requests_by_jacob))
    def test_noop_on_update_requests_with_email(self):
        bella = self.make_user('*****@*****.**')
        jacob = self.make_user('*****@*****.**')

        CoachRequest.get_or_insert_for(jacob, bella)

        coaches.update_requests(bella, [jacob.key_email])

        requests_for_bella = CoachRequest.get_for_student(bella).fetch(1000)
        self.assertEqual(1, len(requests_for_bella))

        requests_by_jacob = CoachRequest.get_for_coach(jacob).fetch(1000)
        self.assertEqual(1, len(requests_by_jacob))