def test_get_announcements_ordered_by_recipient_ascending( announcements_with_recipients): o_announcements, total = get_announcements(order='asc', column='recipient') announcements = sorted(announcements_with_recipients, key=lambda a: (snd(a), fst(a).id)) assert total == len(announcements) assert [a[0].id for a in announcements] == [a.id for a in o_announcements]
def test_get_announcements_ordered_by_visible_from_ascending(announcements): o_announcements, total = get_announcements(order='asc', column='visible_from') assert total == len(announcements) assert [a.id for a in o_announcements] == [ a.id for a in sorted(announcements, key=lambda a: a.visible_from) ]
def test_get_announcements_with_combined_query(announcements, tnow): q = (tnow - timedelta(seconds=6)).strftime('%d/%m/%Y') q += ' body 7 subject 07' q_announcements, total = get_announcements(q=q) assert total == 1 assert sorted( map(lambda announcement: announcement.subject, q_announcements)) == ['subject 07 (to tutors on programme 2)']
def test_get_announcements_with_id_query(announcements, tnow): q = 'AN-%d' % announcements[-3].id q_announcements, total = get_announcements(q=q) assert total == 1 assert sorted( map(lambda announcement: announcement.subject, q_announcements)) == [ 'subject 08 (to students and tutors on programme 3)', ]
def test_get_announcements_with_body_query(announcements): q = 'body 08' q_announcements, total = get_announcements(q=q) assert total == 1 assert sorted( map(lambda announcement: announcement.subject, q_announcements)) == [ 'subject 08 (to students and tutors on programme 3)', ]
def test_get_announcements_ordered_by_announcement_id_descending( announcements): o_announcements, total = get_announcements(order='desc', column='announcement_id') assert total == len(announcements) assert [a.id for a in o_announcements] == [ a.id for a in sorted(announcements, key=lambda a: a.id, reverse=True) ]
def test_get_announcements_with_visible_from_query(announcements, tnow): q = (tnow - timedelta(days=1)).strftime('%d/%m/%Y') q_announcements, total = get_announcements(q=q) assert total == 2 assert sorted( map(lambda announcement: announcement.subject, q_announcements)) == [ 'subject 09 (visible from yesterday)', 'subject 10 (visible from yesterday)', ]
def test_get_announcements_with_subject_query(announcements): q = 'tutors' q_announcements, total = get_announcements(q=q) assert total == 4 assert sorted( map(lambda announcement: announcement.subject, q_announcements)) == [ 'subject 04 (to students and tutors)', 'subject 05 (to tutors)', 'subject 07 (to tutors on programme 2)', 'subject 08 (to students and tutors on programme 3)', ]
def test_get_announcements_with_id_query_no_results(announcements, tnow): q = 'AN-%d' % (announcements[-1].id + 1) q_announcements, total = get_announcements(q=q) assert total == 0 assert len(q_announcements) == 0
def test_get_announcements_with_body_query_no_results(announcements): q = 'body 11' q_announcements, total = get_announcements(q=q) assert total == 0 assert len(q_announcements) == 0
def test_get_announcements_with_subject_query_no_results(announcements): q = 'Zorb' q_announcements, total = get_announcements(q=q) assert total == 0 assert len(q_announcements) == 0
def test_get_announcements_with_visible_from_query_no_results( announcements, tnow): q = (tnow - timedelta(days=2)).strftime('%d/%m/%Y') q_announcements, total = get_announcements(q=q) assert total == 0 assert len(q_announcements) == 0
def test_get_announcements(announcements): all_announcements, total = get_announcements() assert total == len(announcements) assert [a.id for a in all_announcements ] == sorted([a.id for a in announcements])
def test_get_announcements_limited(announcements): l_announcements, total = get_announcements(limitfrom=3, limitnum=4) assert len(l_announcements) == 4 assert total == len(announcements) assert [a.id for a in l_announcements ] == sorted([a.id for a in announcements])[3:7]