feat(events): harden registration checkout lifecycle
This commit is contained in:
@@ -22,13 +22,21 @@ def test_event_admin_formats_empty_price_and_capacity():
|
||||
def test_event_admin_status_actions_update_selection(mocker):
|
||||
model_admin = EventAdmin(Event, admin.site)
|
||||
mocker.patch.object(model_admin, "message_user")
|
||||
cancel_checkouts = mocker.patch("apps.events.admin.cancel_event_checkouts")
|
||||
queryset = mocker.Mock()
|
||||
queryset.count.return_value = 2
|
||||
for action, status in (
|
||||
(model_admin.make_published, Event.StatusChoices.PUBLISHED),
|
||||
(model_admin.make_draft, Event.StatusChoices.DRAFT),
|
||||
(model_admin.make_cancelled, Event.StatusChoices.CANCELLED),
|
||||
(model_admin.make_completed, Event.StatusChoices.COMPLETED),
|
||||
):
|
||||
action(SimpleNamespace(), queryset)
|
||||
queryset.update.assert_called_with(status=status)
|
||||
|
||||
published = SimpleNamespace(status=Event.StatusChoices.PUBLISHED, pk=10, save=mocker.Mock())
|
||||
already_cancelled = SimpleNamespace(status=Event.StatusChoices.CANCELLED, pk=11, save=mocker.Mock())
|
||||
model_admin.make_cancelled(SimpleNamespace(), [published, already_cancelled])
|
||||
|
||||
published.save.assert_called_once_with(update_fields=["status"])
|
||||
already_cancelled.save.assert_not_called()
|
||||
cancel_checkouts.assert_called_once_with(published.pk)
|
||||
|
||||
Reference in New Issue
Block a user