mirror of https://gitlab.com/openlp/openlp.git
Fix selected=True not being set at new Transpose API Endpoint
This commit is contained in:
parent
6a67c2d89f
commit
7c6f2efc81
|
@ -60,7 +60,7 @@ def system_information():
|
||||||
data['websocket_port'] = Registry().get('settings_thread').value('api/websocket port')
|
data['websocket_port'] = Registry().get('settings_thread').value('api/websocket port')
|
||||||
data['login_required'] = Registry().get('settings_thread').value('api/authentication enabled')
|
data['login_required'] = Registry().get('settings_thread').value('api/authentication enabled')
|
||||||
data['api_version'] = 2
|
data['api_version'] = 2
|
||||||
data['api_revision'] = 2
|
data['api_revision'] = 3
|
||||||
return jsonify(data)
|
return jsonify(data)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -182,6 +182,7 @@ def transpose(transpose_value):
|
||||||
chord_slides.append({'chords': verse_list[i + 1].strip(), 'verse': verse_list[i]})
|
chord_slides.append({'chords': verse_list[i + 1].strip(), 'verse': verse_list[i]})
|
||||||
if return_service_item:
|
if return_service_item:
|
||||||
live_item['chords_transposed'] = True
|
live_item['chords_transposed'] = True
|
||||||
|
live_item['slides'][live_controller.selected_row]['selected'] = True
|
||||||
json_live_item = json.dumps(live_item, cls=OpenLPJSONEncoder)
|
json_live_item = json.dumps(live_item, cls=OpenLPJSONEncoder)
|
||||||
return Response(json_live_item, mimetype='application/json')
|
return Response(json_live_item, mimetype='application/json')
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -103,7 +103,7 @@ def test_plugin_songs_transpose_returns_plugin_exception(flask_client, settings)
|
||||||
assert res.status_code == 400
|
assert res.status_code == 400
|
||||||
|
|
||||||
|
|
||||||
TransposeMockReturn = namedtuple('TransposeMockReturn', ['renderer_mock_any_attr'])
|
TransposeMockReturn = namedtuple('TransposeMockReturn', ['renderer_mock_any_attr', 'live_controller_mock'])
|
||||||
|
|
||||||
|
|
||||||
def _init_transpose_mocks():
|
def _init_transpose_mocks():
|
||||||
|
@ -136,7 +136,8 @@ def _init_transpose_mocks():
|
||||||
renderer_mock_any_attr.reset_mock()
|
renderer_mock_any_attr.reset_mock()
|
||||||
renderer_mock.format_slides.reset_mock()
|
renderer_mock.format_slides.reset_mock()
|
||||||
|
|
||||||
return TransposeMockReturn(renderer_mock_any_attr=renderer_mock_any_attr)
|
return TransposeMockReturn(renderer_mock_any_attr=renderer_mock_any_attr,
|
||||||
|
live_controller_mock=live_controller_mock)
|
||||||
|
|
||||||
|
|
||||||
def test_plugin_songs_transpose_wont_call_renderer(flask_client, settings):
|
def test_plugin_songs_transpose_wont_call_renderer(flask_client, settings):
|
||||||
|
@ -171,3 +172,20 @@ def test_plugin_songs_transpose_accepts_response_format_service_item(flask_clien
|
||||||
# THEN: The service item response shouldn't match normal response and should be a service_item response
|
# THEN: The service item response shouldn't match normal response and should be a service_item response
|
||||||
response = service_item_res.json
|
response = service_item_res.json
|
||||||
assert 'capabilities' in response
|
assert 'capabilities' in response
|
||||||
|
|
||||||
|
|
||||||
|
def test_plugin_songs_transpose_marks_selected_slide(flask_client, settings):
|
||||||
|
"""
|
||||||
|
Tests whether the transpose's endpoint marks the active slide
|
||||||
|
"""
|
||||||
|
|
||||||
|
# GIVEN: The default mocks for Transpose API and the default response
|
||||||
|
mocks = _init_transpose_mocks()
|
||||||
|
mocks.live_controller_mock.selected_row = 1
|
||||||
|
|
||||||
|
# WHEN: The transpose action returning service_item is called
|
||||||
|
service_item_res = flask_client.get('/api/v2/plugins/songs/transpose-live-item/-1?response_format=service_item')
|
||||||
|
|
||||||
|
# THEN: The service item response shouldn't match normal response and should be a service_item response
|
||||||
|
response = service_item_res.json
|
||||||
|
assert response['slides'][1]['selected'] is True
|
||||||
|
|
Loading…
Reference in New Issue