Files
notifications-admin/tests/app/models/test_event.py
2023-12-18 16:10:12 -05:00

92 lines
2.6 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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