Skip to content

Commit 06dda2e

Browse files
authored
Merge pull request #89 from mattmanley/update_create_task
Update create task method
2 parents 38920ad + 9dde952 commit 06dda2e

3 files changed

Lines changed: 16 additions & 2 deletions

File tree

maproulette/api/task.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ def create_task(self, data):
3636
:param data: a JSON input containing task details
3737
:returns: the API response from the POST request
3838
"""
39+
if self.is_task_model(data):
40+
data = TaskModel.to_dict(data)
3941
response = self.post(
4042
endpoint="/task",
4143
body=data)

tests/test_task_api.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,18 @@ def test_get_task_history(self, mock_request, api_instance=api):
2626
f'{self.url}/task/{test_task_id}/history',
2727
params=None)
2828

29+
@patch('maproulette.api.maproulette_server.requests.Session.post')
30+
def test_create_task(self, mock_request, api_instance=api):
31+
geometries = test_geojson['features'][0]['geometry']
32+
test_task_model = maproulette.TaskModel(name='test_task',
33+
parent='12345',
34+
geometries=geometries)
35+
api_instance.create_task(test_task_model)
36+
mock_request.assert_called_once_with(
37+
f'{self.url}/task',
38+
json=test_task_model.to_dict(),
39+
params=None)
40+
2941
@patch('maproulette.api.maproulette_server.requests.Session.post')
3042
def test_create_tasks(self, mock_request, api_instance=api):
3143
test_tasks = []
@@ -77,7 +89,7 @@ def test_create_cooperative_task(self, mock_request, api_instance=api):
7789
api_instance.create_task(test_task)
7890
mock_request.assert_called_once_with(
7991
f'{self.url}/task',
80-
json=test_task,
92+
json=test_task.to_dict(),
8193
params=None)
8294

8395
@patch('maproulette.api.maproulette_server.requests.Session.put')

tox.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[tox]
2-
envlist = py36
2+
minversion = 3.6.0
33

44
[testenv]
55
deps =

0 commit comments

Comments
 (0)