From 8e371b1b48f13a94ea593c2a1b729376c5875318 Mon Sep 17 00:00:00 2001 From: Josef Olsson <josol381@student.liu.se> Date: Wed, 21 Apr 2021 10:00:56 +0200 Subject: [PATCH] Add copy slide api and test --- server/app/apis/slides.py | 12 ++++++++++++ server/tests/test_app.py | 5 +++++ 2 files changed, 17 insertions(+) diff --git a/server/app/apis/slides.py b/server/app/apis/slides.py index 02d0d3d6..3d9ce6fe 100644 --- a/server/app/apis/slides.py +++ b/server/app/apis/slides.py @@ -83,3 +83,15 @@ class SlidesOrder(Resource): item_slide = dbc.edit.switch_order(item_slide, item_slide_order) return item_response(schema.dump(item_slide)) + + +@api.route("/<SOrder>/copy") +@api.param("CID,SOrder") +class SlidesOrder(Resource): + @check_jwt(editor=True) + def put(self, CID, SOrder): + item_slide = dbc.get.slide(CID, SOrder) + + item_slide_copy = dbc.copy.slide(item_slide) + + return item_response(schema.dump(item_slide_copy)) diff --git a/server/tests/test_app.py b/server/tests/test_app.py index 467fd059..aa1758f9 100644 --- a/server/tests/test_app.py +++ b/server/tests/test_app.py @@ -301,6 +301,11 @@ def test_slide_api(client): # Changes the order change_order_test(client, CID, slide_order, slide_order + 1, headers) + # Copies slide + for _ in range(10): + response, _ = put(client, f"/api/competitions/{CID}/slides/{slide_order}/copy", headers=headers) + assert response.status_code == codes.OK + def test_question_api(client): add_default_values() -- GitLab