Simplify channel selection using radio buttons

This takes a similar approach as in the previous commit. Since the
"training channel" doesn't really exist, we need some extra code
to pre-select it if a service is already in training mode. As in
the previous commit, I've removed a few non-critical test cases
where we really don't need to test exhaustively.

Note that we also need some specific code to avoid pre-selecting an
option for non-broadcast services, which only used to work by fluke:
we would try to populate the field with (False, None, 'all'), which
isn't a valid combination, so nothing was selected.
This commit is contained in:
Ben Thorner
2021-06-07 17:23:48 +01:00
parent b38cdcad63
commit 5bfe5f86de
3 changed files with 26 additions and 38 deletions

View File

@@ -5537,28 +5537,14 @@ def test_service_set_broadcast_channel_has_no_radio_selected_for_non_broadcast_s
"test",
"all",
"Training mode",
"training-test-all",
),
(
"live",
"test",
"vodafone",
"Test channel",
"live-test-all",
),
(
"live",
"severe",
"all",
"Live channel",
"live-severe-all",
"training",
),
(
"live",
"government",
"all",
"Government channel",
"live-government-all",
"government",
),
]
)
@@ -5598,25 +5584,25 @@ def test_service_set_broadcast_channel_has_radio_selected_for_broadcast_service(
@pytest.mark.parametrize(
'account_type,expected_redirect_endpoint,extra_args',
'channel,expected_redirect_endpoint,extra_args',
[
(
'training-test-all',
'training',
'.service_confirm_broadcast_account_type',
{'account_type': 'training-test-all'},
),
(
'live-test-all',
'test',
'.service_set_broadcast_network',
{'broadcast_channel': 'test'},
),
(
'live-severe-all',
'severe',
'.service_set_broadcast_network',
{'broadcast_channel': 'severe'},
),
(
'live-government-all',
'government',
'.service_set_broadcast_network',
{'broadcast_channel': 'government'},
),
@@ -5626,7 +5612,7 @@ def test_service_set_broadcast_channel_redirects(
client_request,
platform_admin_user,
mocker,
account_type,
channel,
expected_redirect_endpoint,
extra_args,
):
@@ -5635,7 +5621,7 @@ def test_service_set_broadcast_channel_redirects(
'main.service_set_broadcast_channel',
service_id=SERVICE_ONE_ID,
_data={
'channel': account_type,
'channel': channel,
},
_expected_redirect=url_for(
expected_redirect_endpoint,