mirror of
https://github.com/GSA/notifications-api.git
synced 2026-08-19 14:08:47 -04:00
allow draft -> broadcasting
we haven't built pending_approval functionality yet
This commit is contained in:
@@ -2178,7 +2178,10 @@ class BroadcastStatusType(db.Model):
|
|||||||
|
|
||||||
# these are only the transitions we expect to administer via the API code.
|
# these are only the transitions we expect to administer via the API code.
|
||||||
ALLOWED_STATUS_TRANSITIONS = {
|
ALLOWED_STATUS_TRANSITIONS = {
|
||||||
DRAFT: {PENDING_APPROVAL},
|
DRAFT: {
|
||||||
|
PENDING_APPROVAL,
|
||||||
|
BROADCASTING, # TODO: Remove me once we have pending approval flow put in properly
|
||||||
|
},
|
||||||
PENDING_APPROVAL: {REJECTED, DRAFT, BROADCASTING},
|
PENDING_APPROVAL: {REJECTED, DRAFT, BROADCASTING},
|
||||||
REJECTED: {DRAFT, PENDING_APPROVAL},
|
REJECTED: {DRAFT, PENDING_APPROVAL},
|
||||||
BROADCASTING: {COMPLETED, CANCELLED},
|
BROADCASTING: {COMPLETED, CANCELLED},
|
||||||
|
|||||||
@@ -381,10 +381,10 @@ def test_update_broadcast_message_status_rejects_approval_from_user_not_on_that_
|
|||||||
|
|
||||||
@pytest.mark.parametrize('current_status, new_status', [
|
@pytest.mark.parametrize('current_status, new_status', [
|
||||||
(BroadcastStatusType.DRAFT, BroadcastStatusType.DRAFT),
|
(BroadcastStatusType.DRAFT, BroadcastStatusType.DRAFT),
|
||||||
(BroadcastStatusType.DRAFT, BroadcastStatusType.BROADCASTING),
|
|
||||||
(BroadcastStatusType.BROADCASTING, BroadcastStatusType.PENDING_APPROVAL),
|
(BroadcastStatusType.BROADCASTING, BroadcastStatusType.PENDING_APPROVAL),
|
||||||
(BroadcastStatusType.COMPLETED, BroadcastStatusType.BROADCASTING),
|
(BroadcastStatusType.COMPLETED, BroadcastStatusType.BROADCASTING),
|
||||||
(BroadcastStatusType.CANCELLED, BroadcastStatusType.DRAFT),
|
(BroadcastStatusType.CANCELLED, BroadcastStatusType.DRAFT),
|
||||||
|
pytest.param(BroadcastStatusType.DRAFT, BroadcastStatusType.BROADCASTING, marks=pytest.mark.xfail()),
|
||||||
])
|
])
|
||||||
def test_update_broadcast_message_status_restricts_status_transitions_to_explicit_list(
|
def test_update_broadcast_message_status_restricts_status_transitions_to_explicit_list(
|
||||||
admin_request,
|
admin_request,
|
||||||
|
|||||||
Reference in New Issue
Block a user