Ejemplo n.º 1
0
def test_create_nightly_notification_status_for_day_respects_bst(
        sample_template):
    create_notification(sample_template,
                        status='delivered',
                        created_at=datetime(2019, 4, 1, 23, 0))  # too new

    create_notification(sample_template,
                        status='created',
                        created_at=datetime(2019, 4, 1, 22, 59))
    create_notification(sample_template,
                        status='created',
                        created_at=datetime(2019, 3, 31, 23, 0))

    create_notification(sample_template,
                        status='delivered',
                        created_at=datetime(2019, 3, 31, 22, 59))  # too old

    create_nightly_notification_status_for_day('2019-04-01', 'sms')

    noti_status = FactNotificationStatus.query.order_by(
        FactNotificationStatus.bst_date).all()
    assert len(noti_status) == 1

    assert noti_status[0].bst_date == date(2019, 4, 1)
    assert noti_status[0].notification_status == 'created'
Ejemplo n.º 2
0
def test_create_nightly_notification_status_for_day_respects_local_timezone(
    sample_template, ):
    create_notification(sample_template,
                        status="delivered",
                        created_at=datetime(2019, 4, 2, 5, 0))  # too new

    create_notification(sample_template,
                        status="created",
                        created_at=datetime(2019, 4, 2, 6, 59))
    create_notification(sample_template,
                        status="created",
                        created_at=datetime(2019, 4, 1, 5, 59))

    create_notification(sample_template,
                        status="delivered",
                        created_at=datetime(2019, 3, 30, 3, 59))  # too old

    create_nightly_notification_status_for_day("2019-04-01")

    noti_status = FactNotificationStatus.query.order_by(
        FactNotificationStatus.bst_date).all()
    print(noti_status)
    assert len(noti_status) == 1

    assert noti_status[0].bst_date == date(2019, 4, 1)
    assert noti_status[0].notification_status == "created"
def test_create_nightly_notification_status_for_day(notify_db_session):
    first_service = create_service(service_name='First Service')
    first_template = create_template(service=first_service)
    second_service = create_service(service_name='second Service')
    second_template = create_template(service=second_service,
                                      template_type='email')
    third_service = create_service(service_name='third Service')
    third_template = create_template(service=third_service,
                                     template_type='letter')

    create_notification(template=first_template, status='delivered')
    create_notification(template=first_template,
                        status='delivered',
                        created_at=datetime(2019, 1, 1, 12, 0))

    create_notification(template=second_template, status='temporary-failure')
    create_notification(template=second_template,
                        status='temporary-failure',
                        created_at=datetime(2019, 1, 1, 12, 0))

    create_notification(template=third_template, status='created')
    create_notification(template=third_template,
                        status='created',
                        created_at=datetime(2019, 1, 1, 12, 0))

    assert len(FactNotificationStatus.query.all()) == 0

    create_nightly_notification_status_for_day('2019-01-01')

    new_data = FactNotificationStatus.query.all()

    assert len(new_data) == 3
    assert new_data[0].bst_date == date(2019, 1, 1)
    assert new_data[1].bst_date == date(2019, 1, 1)
    assert new_data[2].bst_date == date(2019, 1, 1)
Ejemplo n.º 4
0
def test_create_nightly_notification_status_for_day(notify_db_session):
    first_service = create_service(service_name="First Service")
    first_template = create_template(service=first_service)
    second_service = create_service(service_name="second Service")
    second_template = create_template(service=second_service,
                                      template_type="email")
    third_service = create_service(service_name="third Service")
    third_template = create_template(service=third_service,
                                     template_type="letter")

    create_notification(template=first_template, status="delivered")
    create_notification(
        template=first_template,
        status="delivered",
        created_at=datetime(2019, 1, 1, 12, 0),
    )

    create_notification(template=second_template, status="temporary-failure")
    create_notification(
        template=second_template,
        status="temporary-failure",
        created_at=datetime(2019, 1, 1, 12, 0),
    )

    create_notification(template=third_template, status="created")
    create_notification(
        template=third_template,
        status="created",
        created_at=datetime(2019, 1, 1, 12, 0),
    )

    assert len(FactNotificationStatus.query.all()) == 0

    create_nightly_notification_status_for_day("2019-01-01")

    new_data = FactNotificationStatus.query.all()

    assert len(new_data) == 3
    assert new_data[0].bst_date == date(2019, 1, 1)
    assert new_data[1].bst_date == date(2019, 1, 1)
    assert new_data[2].bst_date == date(2019, 1, 1)