示例#1
0
def returned_letter_statistics(service_id):

    most_recent = fetch_most_recent_returned_letter(service_id)

    if not most_recent:
        return jsonify({
            'returned_letter_count': 0,
            'most_recent_report': None,
        })

    most_recent_reported_at = datetime.combine(
        most_recent.reported_at, datetime.min.time()
    )

    if most_recent_reported_at < midnight_n_days_ago(7):
        return jsonify({
            'returned_letter_count': 0,
            'most_recent_report': most_recent.reported_at.strftime(DATETIME_FORMAT_NO_TIMEZONE),
        })

    count = fetch_recent_returned_letter_count(service_id)

    return jsonify({
        'returned_letter_count': count.returned_letter_count,
        'most_recent_report': most_recent.reported_at.strftime(DATETIME_FORMAT_NO_TIMEZONE),
    })
示例#2
0
def test_fetch_most_recent_returned_letter_for_service(sample_service):
    # Older
    create_returned_letter(
        sample_service,
        reported_at=datetime(2009, 9, 9, 9, 9),
    )
    # Newer
    create_returned_letter(
        sample_service,
        reported_at=datetime(2010, 10, 10, 10, 10),
    )
    # Newest, but different service
    create_returned_letter(
        create_service(service_id=uuid.uuid4(), service_name='Other service'),
        reported_at=datetime(2011, 11, 11, 11, 11),
    )
    result = fetch_most_recent_returned_letter(sample_service.id)

    assert str(result.reported_at) == '2010-10-10'