def test_questions_by_member():
    """questions_by_member works as expected
    """
    members = niaopendata.all_current_members()
    rand_smpl = [members[i] for i in sorted(random.sample(range(len(members)), 3))]
    for member in rand_smpl:
        r = niaopendata.questions_by_member(member['PersonId'])
        _check_valid_list_response(r)
def test_questions_by_department():
    """questions_by_department works as expected
    """
    departments = niaopendata.department_list_current()
    rand_smpl = [departments[i] for i in sorted(random.sample(range(len(departments)), 3))]
    for department in rand_smpl:
        r = niaopendata.questions_by_department(department['OrganisationId'])
        _check_valid_list_response(r)
def test_questions_by_search_text():
    """questions_by_search_text works as expected
    """
    for term in ["ane", "Watson", "Kell"]:
        r = niaopendata.questions_by_search_text(term)
        _check_valid_list_response(r)
    for term in ["", "asdlkj", 21408]:
        r = niaopendata.questions_by_search_text(term)
        _check_invalid_list_response(r)
def test_question_details():
    """question_details works as expected
    """
    department = niaopendata.department_list_current()[0]
    questions = niaopendata.questions_by_department(department['OrganisationId'])
    rand_smpl = [questions[i] for i in sorted(random.sample(range(len(questions)), 3))]
    for question in rand_smpl:
        r = niaopendata.question_details(question['DocumentId'])
        _check_valid_list_response(r)
def test_questions_for_written_answer_answered_in_range():
    """questions_for_written_answer_answered_in_range works as expected
    """
    for _start in [_random_date(datetime.datetime(2008, 1, 1), datetime.datetime(2014, 1, 1))]:
        _end = _start + datetime.timedelta(days=365)
        r = niaopendata.questions_for_written_answer_answered_in_range(_start, _end)
        _check_valid_list_response(r)
    for term in ["", "asdlkj", 21408]:
        r = niaopendata.questions_for_written_answer_answered_in_range(term, term)
        _check_invalid_list_response(r)
def test_all_party_groups_list_current():
    """all_party_groups_list_current works as expected
    """
    r = niaopendata.all_party_groups_list_current()
    _check_valid_list_response(r)
def test_parties_list_current():
    """parties_list_current works as expected
    """
    r = niaopendata.parties_list_current()
    _check_valid_list_response(r)
def test_organisation_list_current():
    """organisation_list_current works as expected
    """
    r = niaopendata.organisation_list_current()
    _check_valid_list_response(r)
def test_department_list_current():
    """department_list_current works as expected
    """
    r = niaopendata.department_list_current()
    _check_valid_list_response(r)
def test_committees_list_current_statutory():
    """committees_list_current_statutory works as expected
    """
    r = niaopendata.committees_list_current_statutory()
    _check_valid_list_response(r)
def test_committees_list_current_ad_hoc():
    """committees_list_current_ad_hoc works as expected
    """
    r = niaopendata.committees_list_current_ad_hoc()
    _check_valid_list_response(r)