def test_AlertDate_properties():
    sample_datetime = dt_parse('2021-03-02T10:30:00Z')
    alerts_date = AlertDate(sample_datetime)
    assert alerts_date.as_lang == 'at 10:30am on Tuesday 2 March 2021'
    assert alerts_date.as_iso8601 == '2021-03-02T10:30:00+00:00'
    assert alerts_date.as_utc_datetime == dt_parse('2021-03-02T10:30:00Z')
    assert alerts_date.as_local_datetime == dt_parse('2021-03-02T10:30:00Z')
    assert alerts_date.as_url == '2-mar-2021'
def test_AlertDate_properties_work_with_bst():
    sample_datetime = dt_parse('2021-04-20T23:30:00Z')
    alerts_date = AlertDate(sample_datetime)
    assert alerts_date.as_lang == 'at 12:30am on Wednesday 21 April 2021'
    assert alerts_date.as_iso8601 == '2021-04-21T00:30:00+01:00'
    assert alerts_date.as_utc_datetime == dt_parse('2021-04-20T23:30:00Z')
    assert alerts_date.as_local_datetime == dt_parse('2021-04-21T00:30:00+01:00')
    assert alerts_date.as_local_date == date(2021, 4, 21)
    assert alerts_date.as_url == '21-apr-2021'
def test_multiple_test_alerts_on_the_same_day_are_aggregated(mocker):
    mocker.patch(__name__ + '.Alert.is_public', False)
    alerts = Alerts([
        create_alert_dict(
            starts_at='2021-01-01T01:01:01Z'
        ),
        create_alert_dict(
            starts_at='2021-01-01T02:02:02Z'
        ),
    ])

    assert len(alerts) == 2
    assert len(alerts.current_and_public) == 0
    assert len(alerts.test_alerts_today) == 1
    assert len(alerts.current_and_planned_test_alerts) == 1
    assert alerts.dates_of_current_and_planned_test_alerts == {
        AlertDate(dt_parse('2021-01-01T12:01:00Z'))
    }
def test_AlertDate_is_today(now, sample, expected_is_today):
    with freeze_time(now):
        assert AlertDate(dt_parse(sample)).is_today == expected_is_today
def test_AlertDate_at_midday_and_midnight(hour, minute, expected_lang):
    sample_datetime = dt_parse(f'2021-03-21T{hour}:{minute}:00Z')
    alerts_date = AlertDate(sample_datetime)
    assert alerts_date.as_lang == expected_lang
Ejemplo n.º 6
0
 def last_updated_date(self):
     return AlertDate(self.last_updated)
Ejemplo n.º 7
0
 def cancelled_at_date(self):
     if self.cancelled_at:
         return AlertDate(self.cancelled_at)
Ejemplo n.º 8
0
 def finishes_at_date(self):
     return AlertDate(self.finishes_at)
Ejemplo n.º 9
0
 def starts_at_date(self):
     return AlertDate(self.starts_at)
Ejemplo n.º 10
0
 def approved_at_date(self):
     return AlertDate(self.approved_at)