Commit for merging trunk.

This also has a broken test.
This commit is contained in:
suutari-olli 2016-04-28 19:28:45 +03:00
parent cb421a8fd7
commit 0217ecae2b
2 changed files with 81 additions and 0 deletions

View File

@ -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 couldnt 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.

View File

@ -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.
"""