diff --git a/app/broadcast_message/rest.py b/app/broadcast_message/rest.py index 9fa67a44a..559574b4d 100644 --- a/app/broadcast_message/rest.py +++ b/app/broadcast_message/rest.py @@ -88,7 +88,7 @@ def update_broadcast_message(service_id, broadcast_message_id): if 'starts_at' in data: broadcast_message.starts_at = _parse_nullable_datetime(data['starts_at']) if 'finishes_at' in data: - broadcast_message.starts_at = _parse_nullable_datetime(data['finishes_at']) + broadcast_message.finishes_at = _parse_nullable_datetime(data['finishes_at']) if 'areas' in data: broadcast_message.areas = data['areas'] diff --git a/tests/app/broadcast_message/test_rest.py b/tests/app/broadcast_message/test_rest.py index 14657f5b3..a1aa0f9fe 100644 --- a/tests/app/broadcast_message/test_rest.py +++ b/tests/app/broadcast_message/test_rest.py @@ -149,6 +149,23 @@ def test_update_broadcast_message(admin_request, sample_service): assert response['updated_at'] is not None +def test_update_broadcast_message_sets_finishes_at_separately(admin_request, sample_service): + t = create_template(sample_service, BROADCAST_TYPE) + bm = create_broadcast_message(t, areas=['manchester']) + + response = admin_request.post( + 'broadcast_message.update_broadcast_message', + _data={'starts_at': '2020-06-01 20:00:01', 'finishes_at': '2020-06-02 20:00:01'}, + service_id=t.service_id, + broadcast_message_id=bm.id, + _expected_status=200 + ) + + assert response['starts_at'] == '2020-06-01T20:00:01.000000Z' + assert response['finishes_at'] == '2020-06-02T20:00:01.000000Z' + assert response['updated_at'] is not None + + @pytest.mark.parametrize('input_dt', [ '2020-06-01 20:00:01', '2020-06-01T20:00:01',