Example #1
0
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]
Example #2
0
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)
    ]
Example #3
0
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)']
Example #4
0
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)',
        ]
Example #5
0
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)',
        ]
Example #6
0
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)
    ]
Example #7
0
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)',
        ]
Example #8
0
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)',
        ]
Example #9
0
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
Example #10
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
Example #11
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
Example #12
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
Example #13
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])
Example #14
0
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]