def test_parental_consent(self, api_client, requesting_username, has_full_access):
        """
        Verifies that under thirteens never return a public profile.
        """
        client = self.login_client(api_client, requesting_username)

        year_of_birth = self._set_user_age_to_10_years(self.user)
        set_user_preference(self.user, ACCOUNT_VISIBILITY_PREF_KEY, ALL_USERS_VISIBILITY)

        # Verify that the default view is still private (except for clients with full access)
        response = self.send_get(client)
        if has_full_access:
            data = response.data
            assert self.FULL_RESPONSE_FIELD_COUNT == len(data)
            assert self.user.username == data['username']
            assert ((self.user.first_name + ' ') + self.user.last_name) == data['name']
            assert self.user.email == data['email']
            assert self.user.id == data['id']
            assert year_of_birth == data['year_of_birth']
            for empty_field in ("country", "level_of_education", "mailing_address", "bio", "state",):
                assert data[empty_field] is None
            assert 'm' == data['gender']
            assert 'Learn a lot' == data['goals']
            assert data['is_active']
            assert data['date_joined'] is not None
            assert data['last_login'] is not None
            self._verify_profile_image_data(data, False)
            assert data['requires_parental_consent']
            assert PRIVATE_VISIBILITY == data['account_privacy']
        else:
            self._verify_private_account_response(response, requires_parental_consent=True)

        # Verify that the shared view is still private
        response = self.send_get(client, query_parameters='view=shared')
        self._verify_private_account_response(response, requires_parental_consent=True)