forked from openlp/openlp
Commit for merging trunk.
This also has a broken test.
This commit is contained in:
parent
cb421a8fd7
commit
0217ecae2b
@ -684,6 +684,36 @@ class BibleMediaItem(MediaManagerItem):
|
||||
self.second_search_results = \
|
||||
self.plugin.manager.get_verses(second_bible, text, self.search_results[0].book.book_reference_id)
|
||||
|
||||
def banana(self):
|
||||
# We are doing a 'Reference Search'.
|
||||
# Set Bibles to use the text input from Quick search field.
|
||||
bible = self.quickVersionComboBox.currentText()
|
||||
second_bible = self.quickSecondComboBox.currentText()
|
||||
text = self.quick_search_edit.text()
|
||||
text = text.replace('. ', ' ')
|
||||
if self.quick_search_edit.current_search_type() == BibleSearch.Reference:
|
||||
self.search_results = self.plugin.manager.get_verses(bible, text)
|
||||
if not self.search_results:
|
||||
# if nothing is found, message is given.
|
||||
# Get reference separators from settings.
|
||||
reference_separators = {
|
||||
'verse': get_reference_separator('sep_v_display'),
|
||||
'range': get_reference_separator('sep_r_display'),
|
||||
'list': get_reference_separator('sep_l_display')}
|
||||
self.main_window.information_message(
|
||||
translate('BiblesPlugin.BibleManager', 'Scripture Reference Error'),
|
||||
translate('BiblesPlugin.BibleManager', '<strong>OpenLP couldn’t find anything '
|
||||
'with your search.<br><br>'
|
||||
'Please make sure that your reference follows one of these patterns:</strong><br><br>%s'
|
||||
% UiStrings().BibleScriptureError % reference_separators))
|
||||
elif self.quick_search_edit.current_search_type() == BibleSearch.Combined:
|
||||
# In Combined Reference search no error is given if no results are found. (This would result in duplicate)
|
||||
self.search_results = self.plugin.manager.get_verses(bible, text)
|
||||
if second_bible and self.search_results:
|
||||
self.second_search_results = \
|
||||
self.plugin.manager.get_verses(second_bible, text, self.search_results[0].book.book_reference_id)
|
||||
self.advancedSearchButton.setEnabled(True)
|
||||
|
||||
def on_quick_text_search(self):
|
||||
# We are doing a 'Text Search'.
|
||||
# Set Bibles to use the text input from Quick search field.
|
||||
|
@ -23,6 +23,8 @@
|
||||
This module contains tests for the lib submodule of the Presentations plugin.
|
||||
"""
|
||||
from unittest import TestCase
|
||||
|
||||
from openlp.core.common import Registry, Settings
|
||||
from openlp.plugins.bibles.lib.mediaitem import BibleMediaItem
|
||||
from tests.functional import MagicMock, patch
|
||||
from tests.helpers.testmixin import TestMixin
|
||||
@ -41,6 +43,9 @@ class TestMediaItem(TestCase, TestMixin):
|
||||
patch('openlp.plugins.bibles.lib.mediaitem.BibleMediaItem.setup_item'):
|
||||
self.media_item = BibleMediaItem(None, MagicMock())
|
||||
self.setup_application()
|
||||
self.mocked_main_window = MagicMock()
|
||||
Registry.create()
|
||||
Registry().register('main_window', self.mocked_main_window)
|
||||
|
||||
def display_results_no_results_test(self):
|
||||
"""
|
||||
@ -109,3 +114,49 @@ class TestMediaItem(TestCase, TestMixin):
|
||||
mocked_list_view.selectAll.assert_called_once_with()
|
||||
self.assertEqual(self.media_item.search_results, {})
|
||||
self.assertEqual(self.media_item.second_search_results, {})
|
||||
|
||||
def on_quick_reference_search_test(self):
|
||||
"""
|
||||
BOOM BOOM BANANAS
|
||||
"""
|
||||
|
||||
# GIVEN: A mocked build_display_results which returns an empty list
|
||||
self.media_item.quickVersionComboBox = MagicMock()
|
||||
self.media_item.quickSecondComboBox = MagicMock()
|
||||
self.media_item.quick_search_edit = MagicMock()
|
||||
|
||||
#mocked_text = self.media_item()
|
||||
#mocked_text.text.return_value = 'Gen. 1'
|
||||
#self.media_item.text = mocked_text
|
||||
#self.media_item.text.return_value = 'Gen. 1'
|
||||
# self.mocked_main_window.information_message = MagicMock()
|
||||
|
||||
self.media_item.search_results = MagicMock()
|
||||
self.media_item.advancedSearchButton = MagicMock()
|
||||
self.media_item.advancedSearchButton.setEnabled = MagicMock()
|
||||
|
||||
# WHEN: Calling display_results with a single bible version
|
||||
self.media_item.banana()
|
||||
|
||||
# THEN: No items should be added to the list, and select all should have been called.
|
||||
# self.assertEqual(0, self.mocked_main_window.information_message, 'lama')
|
||||
# mocked_media_item.assert_called_with(mocked_main_window.information_message)
|
||||
# self.mocked_text.text.assert_called_with('Gen. 1')
|
||||
# mocked_process_item.assert_called_once_with(mocked_item, 7)
|
||||
self.media_item.advancedSearchButton.setEnabled.assert_called_once_with(True)
|
||||
|
||||
|
||||
"""
|
||||
def on_quick_reference_search_test(self):
|
||||
|
||||
Test the display_results method a large number of results (> 100) are returned
|
||||
|
||||
|
||||
# GIVEN: A mocked build_display_results which returns a large list of results
|
||||
media_item = BibleMediaItem(MagicMock)
|
||||
|
||||
# WHEN: Calling display_results
|
||||
#self.media_item.on_quick_reference_search()
|
||||
|
||||
# THEN: addItem should have been called 100 times, and the lsit items should not be selected.
|
||||
"""
|
Loading…
Reference in New Issue
Block a user