Files
notifications-admin/tests/app/models/test_event.py

92 lines
2.6 KiB
Python
Raw Normal View History

import pytest
from app.models.event import ServiceEvent
from tests.conftest import sample_uuid
@pytest.mark.parametrize(
("key", "value_from", "value_to", "expected"),
[
("restricted", True, False, ("Made this service live")),
("restricted", False, True, ("Put this service back into trial mode")),
("active", False, True, ("Unsuspended this service")),
("active", True, False, ("Deleted this service")),
("contact_link", "x", "y", ("Set the contact details for this service to y")),
(
"inbound_api",
"foo",
"bar",
("Updated the callback for received text messages"),
),
(
"message_limit",
1,
2,
("Increased this services daily message limit from 1 to 2"),
),
(
"message_limit",
2,
1,
("Reduced this services daily message limit from 2 to 1"),
),
("name", "Old", "New", ("Renamed this service from Old to New")),
(
"permissions",
["a", "b", "c"],
["a", "b", "c", "d"],
("Added d to this services permissions"),
),
(
"permissions",
["a", "b", "c"],
["a", "b"],
("Removed c from this services permissions"),
),
(
"permissions",
["a", "b", "c"],
["c", "d", "e"],
("Removed a and b from this services permissions, added d and e"),
),
(
"prefix_sms",
True,
False,
("Set text messages to not start with the name of this service"),
),
(
"prefix_sms",
False,
True,
("Set text messages to start with the name of this service"),
),
("research_mode", True, False, ("Took this service out of research mode")),
("research_mode", False, True, ("Put this service into research mode")),
(
"service_callback_api",
"foo",
"bar",
("Updated the callback for delivery receipts"),
),
],
)
def test_service_event(
key,
value_from,
value_to,
expected,
):
event = ServiceEvent(
{
"created_at": "foo",
"updated_at": "bar",
"created_by_id": sample_uuid(),
},
key,
value_from,
value_to,
)
assert event.relevant is True
assert str(event) == expected