forked from openlp/openlp
Modify CSV Importer and test to give 100% coverage!
This commit is contained in:
parent
9d5829e3a5
commit
6ab2686b09
@ -142,7 +142,7 @@ class CSVBible(BibleImport):
|
|||||||
book_ptr = None
|
book_ptr = None
|
||||||
for verse in verses:
|
for verse in verses:
|
||||||
if self.stop_import_flag:
|
if self.stop_import_flag:
|
||||||
return None
|
break
|
||||||
verse_book = self.get_book_name(verse.book_id_name, books)
|
verse_book = self.get_book_name(verse.book_id_name, books)
|
||||||
if book_ptr != verse_book:
|
if book_ptr != verse_book:
|
||||||
book = self.get_book(verse_book)
|
book = self.get_book(verse_book)
|
||||||
|
@ -83,37 +83,6 @@ class TestBibleImport(TestCase):
|
|||||||
self.assertEqual(instance.filename, 'bible.xml')
|
self.assertEqual(instance.filename, 'bible.xml')
|
||||||
self.assertIsInstance(instance, BibleDB)
|
self.assertIsInstance(instance, BibleDB)
|
||||||
|
|
||||||
def check_for_compression_test(self):
|
|
||||||
"""
|
|
||||||
Test the check_for_compression method when called with a path to an uncompressed file
|
|
||||||
"""
|
|
||||||
# GIVEN: A mocked is_zipfile which returns False and an instance of BibleImport
|
|
||||||
with patch('openlp.plugins.bibles.lib.bibleimport.is_zipfile', return_value=False) as mocked_is_zip:
|
|
||||||
instance = BibleImport(MagicMock())
|
|
||||||
|
|
||||||
# WHEN: Calling check_for_compression
|
|
||||||
result = instance.check_for_compression('filename.tst')
|
|
||||||
|
|
||||||
# THEN: None should be returned
|
|
||||||
self.assertIsNone(result)
|
|
||||||
mocked_is_zip.assert_called_once_with('filename.tst')
|
|
||||||
|
|
||||||
def check_for_compression_zip_file_test(self):
|
|
||||||
"""
|
|
||||||
Test the check_for_compression method when called with a path to a compressed file
|
|
||||||
"""
|
|
||||||
# GIVEN: A patched is_zipfile which returns True and an instance of BibleImport
|
|
||||||
with patch('openlp.plugins.bibles.lib.bibleimport.is_zipfile', return_value=True),\
|
|
||||||
patch('openlp.plugins.bibles.lib.bibleimport.critical_error_message_box') as mocked_message_box:
|
|
||||||
instance = BibleImport(MagicMock())
|
|
||||||
|
|
||||||
# WHEN: Calling check_for_compression
|
|
||||||
# THEN: A Validation error should be raised and the user should be notified.
|
|
||||||
with self.assertRaises(ValidationError) as context:
|
|
||||||
instance.check_for_compression('filename.tst')
|
|
||||||
self.assertTrue(mocked_message_box.called)
|
|
||||||
self.assertEqual(context.exception.msg, '"filename.tst" is compressed')
|
|
||||||
|
|
||||||
def get_language_id_language_found_test(self):
|
def get_language_id_language_found_test(self):
|
||||||
"""
|
"""
|
||||||
Test get_language_id() when called with a name found in the languages list
|
Test get_language_id() when called with a name found in the languages list
|
||||||
|
@ -240,7 +240,7 @@ class TestCSVImport(TestCase):
|
|||||||
importer.wizard = MagicMock()
|
importer.wizard = MagicMock()
|
||||||
|
|
||||||
# WHEN: Calling process_verses
|
# WHEN: Calling process_verses
|
||||||
result = importer.process_verses([], [])
|
result = importer.process_verses(['Dummy Verse'], [])
|
||||||
|
|
||||||
# THEN: get_book_name should not be called and the return value should be None
|
# THEN: get_book_name should not be called and the return value should be None
|
||||||
self.assertFalse(importer.get_book_name.called)
|
self.assertFalse(importer.get_book_name.called)
|
||||||
|
Loading…
Reference in New Issue
Block a user