From 75c3b82d8894cf00eacf6c718ca63bb5df01b29c Mon Sep 17 00:00:00 2001 From: Thomas Scholtes Date: Sun, 2 Feb 2014 19:12:10 +0100 Subject: [PATCH] Test and fix web /item/query/ --- beetsplug/web/__init__.py | 4 +++- test/test_web.py | 8 ++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/beetsplug/web/__init__.py b/beetsplug/web/__init__.py index 344a4160c..8712a7fe4 100644 --- a/beetsplug/web/__init__.py +++ b/beetsplug/web/__init__.py @@ -107,7 +107,9 @@ def resource_query(name): def responder(query): parts = query.split('/') entities = query_func(parts) - return flask.jsonify(results=[_rep(entities) for item in items]) + return app.response_class( + json_generator(entities, root='results'), + mimetype='application/json') responder.__name__ = 'query_%s' % name return responder return make_responder diff --git a/test/test_web.py b/test/test_web.py index b8d9d5a8a..08ec8c963 100644 --- a/test/test_web.py +++ b/test/test_web.py @@ -62,6 +62,14 @@ class WebPluginTest(_common.LibTestCase): self.assertEqual(response.status_code, 200) self.assertEqual(len(response.json['items']), 2) + def test_get_simple_item_query(self): + response = self.client.get('/item/query/another') + response.json = json.loads(response.data) + + self.assertEqual(response.status_code, 200) + self.assertEqual(len(response.json['results']), 1) + self.assertEqual(response.json['results'][0]['title'], 'another title') + def test_get_all_albums(self): response = self.client.get('/album/') response.json = json.loads(response.data)