mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-07-18 05:30:21 -04:00
Redirect to parent after deleting a folder
You lose your place if, after deleting something that’s deeply nested, you return to the root level.
This commit is contained in:
@@ -427,7 +427,7 @@ def delete_template_folder(service_id, template_folder_id):
|
||||
template_folder_api_client.delete_template_folder(current_service.id, template_folder_id)
|
||||
|
||||
return redirect(
|
||||
url_for('.choose_template', service_id=service_id)
|
||||
url_for('.choose_template', service_id=service_id, template_folder_id=template_folder['parent_id'])
|
||||
)
|
||||
except HTTPError as e:
|
||||
msg = "Folder is not empty"
|
||||
|
||||
@@ -487,11 +487,15 @@ def test_delete_template_folder_should_detect_non_empty_folder_on_get(
|
||||
)
|
||||
|
||||
|
||||
def test_delete_folder(client_request, service_one, mock_get_template_folders, mocker):
|
||||
@pytest.mark.parametrize('parent_folder_id', (
|
||||
None,
|
||||
PARENT_FOLDER_ID,
|
||||
))
|
||||
def test_delete_folder(client_request, service_one, mock_get_template_folders, mocker, parent_folder_id):
|
||||
mock_delete = mocker.patch('app.template_folder_api_client.delete_template_folder')
|
||||
folder_id = str(uuid.uuid4())
|
||||
mock_get_template_folders.side_effect = [[
|
||||
{'id': folder_id, 'name': 'sacrifice', 'parent_id': None},
|
||||
{'id': folder_id, 'name': 'sacrifice', 'parent_id': parent_folder_id},
|
||||
], []]
|
||||
mocker.patch(
|
||||
'app.models.service.Service.get_templates',
|
||||
@@ -503,9 +507,12 @@ def test_delete_folder(client_request, service_one, mock_get_template_folders, m
|
||||
'main.delete_template_folder',
|
||||
service_id=service_one['id'],
|
||||
template_folder_id=folder_id,
|
||||
_expected_redirect=url_for("main.choose_template",
|
||||
service_id=service_one['id'],
|
||||
_external=True)
|
||||
_expected_redirect=url_for(
|
||||
"main.choose_template",
|
||||
service_id=service_one['id'],
|
||||
template_folder_id=parent_folder_id,
|
||||
_external=True,
|
||||
)
|
||||
)
|
||||
|
||||
mock_delete.assert_called_once_with(service_one['id'], folder_id)
|
||||
|
||||
Reference in New Issue
Block a user