Renamed url to /template-folder/<id>/contents, it's a more restful name.

Updated unit tests
Removed redundant logger
This commit is contained in:
Rebecca Law
2018-11-09 15:54:39 +00:00
parent 5df9a307be
commit 1f86796949
2 changed files with 17 additions and 12 deletions

View File

@@ -94,8 +94,8 @@ def delete_template_folder(service_id, template_folder_id):
return '', 204 return '', 204
@template_folder_blueprint.route('/move-to-folder', methods=['POST']) @template_folder_blueprint.route('/contents', methods=['POST'])
@template_folder_blueprint.route('/move-to-folder/<uuid:target_template_folder_id>', methods=['POST']) @template_folder_blueprint.route('/<uuid:target_template_folder_id>/contents', methods=['POST'])
@transactional @transactional
def move_to_template_folder(service_id, target_template_folder_id=None): def move_to_template_folder(service_id, target_template_folder_id=None):
data = request.get_json() data = request.get_json()
@@ -115,7 +115,6 @@ def move_to_template_folder(service_id, target_template_folder_id=None):
template_folder_id, template_folder_id,
service_id service_id
) )
current_app.logger.error(msg)
raise InvalidRequest(msg, status_code=400) raise InvalidRequest(msg, status_code=400)
if target_template_folder and template_folder.is_parent_of(target_template_folder): if target_template_folder and template_folder.is_parent_of(target_template_folder):
@@ -123,7 +122,6 @@ def move_to_template_folder(service_id, target_template_folder_id=None):
template_folder_id, template_folder_id,
target_template_folder_id target_template_folder_id
) )
current_app.logger.error(msg)
raise InvalidRequest(msg, status_code=400) raise InvalidRequest(msg, status_code=400)
template_folder.parent = target_template_folder template_folder.parent = target_template_folder
@@ -136,7 +134,6 @@ def move_to_template_folder(service_id, target_template_folder_id=None):
template_id, template_id,
service_id service_id
) )
current_app.logger.error(msg)
raise InvalidRequest(msg, status_code=400) raise InvalidRequest(msg, status_code=400)
if template.archived: if template.archived:

View File

@@ -246,7 +246,7 @@ def test_move_to_folder_moves_folders_and_templates(admin_request, sample_servic
def test_move_to_folder_moves_folders_and_templates_to_top_level_if_no_target(admin_request, sample_service): def test_move_to_folder_moves_folders_and_templates_to_top_level_if_no_target(admin_request, sample_service):
f1 = create_template_folder(sample_service, name='f1') f1 = create_template_folder(sample_service, name='f1')
f2 = create_template_folder(sample_service, name='f2') f2 = create_template_folder(sample_service, name='f2', parent=f1)
t1 = create_template(sample_service, template_name='t1', folder=f1) t1 = create_template(sample_service, template_name='t1', folder=f1)
t2 = create_template(sample_service, template_name='t2', folder=f1) t2 = create_template(sample_service, template_name='t2', folder=f1)
@@ -258,13 +258,13 @@ def test_move_to_folder_moves_folders_and_templates_to_top_level_if_no_target(ad
target_template_folder_id=None, target_template_folder_id=None,
_data={ _data={
'templates': [str(t1.id)], 'templates': [str(t1.id)],
'folders': [str(f1.id)] 'folders': [str(f2.id)]
}, },
_expected_status=204 _expected_status=204
) )
assert f1.parent is None assert f1.parent is None # unchanged
assert f2.parent is None # unchanged assert f2.parent is None
assert t1.folder is None # moved out of f1, even though f1 is also being moved assert t1.folder is None # moved out of f1, even though f1 is also being moved
assert t2.folder == f1 # stays in f1, though f1 has moved assert t2.folder == f1 # stays in f1, though f1 has moved
@@ -277,7 +277,7 @@ def test_move_to_folder_rejects_folder_from_other_service(admin_request, notify_
f2 = create_template_folder(s2) f2 = create_template_folder(s2)
admin_request.post( response = admin_request.post(
'template_folder.move_to_template_folder', 'template_folder.move_to_template_folder',
service_id=s1.id, service_id=s1.id,
target_template_folder_id=None, target_template_folder_id=None,
@@ -287,6 +287,7 @@ def test_move_to_folder_rejects_folder_from_other_service(admin_request, notify_
}, },
_expected_status=400 _expected_status=400
) )
assert response['message'] == 'No folder found with id {} for service {}'.format(f2.id, s1.id)
def test_move_to_folder_rejects_template_from_other_service(admin_request, notify_db_session): def test_move_to_folder_rejects_template_from_other_service(admin_request, notify_db_session):
@@ -295,7 +296,7 @@ def test_move_to_folder_rejects_template_from_other_service(admin_request, notif
t2 = create_template(s2) t2 = create_template(s2)
admin_request.post( response = admin_request.post(
'template_folder.move_to_template_folder', 'template_folder.move_to_template_folder',
service_id=s1.id, service_id=s1.id,
target_template_folder_id=None, target_template_folder_id=None,
@@ -305,21 +306,28 @@ def test_move_to_folder_rejects_template_from_other_service(admin_request, notif
}, },
_expected_status=400 _expected_status=400
) )
assert response['message'] == 'Could not move to folder: No template found with id {} for service {}'.format(
t2.id, s1.id
)
def test_move_to_folder_rejects_if_it_would_cause_folder_loop(admin_request, sample_service): def test_move_to_folder_rejects_if_it_would_cause_folder_loop(admin_request, sample_service):
f1 = create_template_folder(sample_service, name='f1') f1 = create_template_folder(sample_service, name='f1')
target_folder = create_template_folder(sample_service, name='target', parent=f1) target_folder = create_template_folder(sample_service, name='target', parent=f1)
admin_request.post( response = admin_request.post(
'template_folder.move_to_template_folder', 'template_folder.move_to_template_folder',
service_id=sample_service.id, service_id=sample_service.id,
target_template_folder_id=target_folder.id, target_template_folder_id=target_folder.id,
_data={ _data={
'templates': [],
'folders': [str(f1.id)] 'folders': [str(f1.id)]
}, },
_expected_status=400 _expected_status=400
) )
assert response['message'] == 'Could not move to folder: {} is an ancestor of target folder {}'.format(
f1.id, target_folder.id
)
def test_move_to_folder_skips_archived_templates(admin_request, sample_service): def test_move_to_folder_skips_archived_templates(admin_request, sample_service):