Skip to content

Commit ba92213

Browse files
authored
Specified languages modification null checking (#380)
1 parent e1c590f commit ba92213

3 files changed

Lines changed: 7 additions & 2 deletions

File tree

app/api/routes/resource_modification.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def update_resource(id, json, db):
4545
try:
4646
logger.info(
4747
f"Updating resource. Old data: {json_module.dumps(resource.serialize)}")
48-
if json.get('languages'):
48+
if json.get('languages') is not None:
4949
resource.languages = langs
5050
index_object['languages'] = resource.serialize['languages']
5151
if json.get('category'):

tests/unit/test_routes/helpers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def update_resource(client,
4545
name="New name" if not name else name,
4646
url="https://new.url" if not url else url,
4747
category="New Category" if not category else category,
48-
languages=["New language"] if not languages else languages,
48+
languages=["New Lang"] if languages is None else languages,
4949
paid=False if not paid else paid,
5050
notes="New notes" if not notes else notes),
5151
headers={'x-apikey': apikey} if not headers else headers)

tests/unit/test_routes/test_resource_update.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,11 @@ def test_update_resource(
240240
notes)
241241
assert (response.status_code == 200)
242242

243+
# Empty languages list given removes all languages of resource
244+
response = update_resource(client, apikey, languages=[])
245+
assert (response.status_code == 200)
246+
assert (response.json['resource'].get('languages') == [])
247+
243248
# Resource not found
244249
response = client.put("/api/v1/resources/0",
245250
json=dict(name="New name"),

0 commit comments

Comments
 (0)