def process_chapters_completes_test(self, mocked_parse_chapter_number): """ Test process_chapters when it completes """ # GIVEN: An instance of OpenSongBible importer = OpenSongBible(MagicMock(), path='.', name='.', filename='') importer.wizard = MagicMock() # WHEN: called with some valid data book = MagicMock() book.name = "Book" chapter1 = MagicMock() chapter1.attrib = {'n': '1'} chapter1.c = 'Chapter1' chapter1.v = ['Chapter1 Verses'] chapter2 = MagicMock() chapter2.attrib = {'n': '2'} chapter2.c = 'Chapter2' chapter2.v = ['Chapter2 Verses'] importer.process_verses = MagicMock() importer.stop_import_flag = False importer.process_chapters(book, [chapter1, chapter2]) # THEN: parse_chapter_number, process_verses and increment_process_bar should have been called self.assertEqual(mocked_parse_chapter_number.call_args_list, [call('1', 0), call('2', 1)]) self.assertEqual(importer.process_verses.call_args_list, [ call(book, 1, ['Chapter1 Verses']), call(book, 2, ['Chapter2 Verses']) ]) self.assertEqual( importer.wizard.increment_progress_bar.call_args_list, [call('Importing Book 1...'), call('Importing Book 2...')])
def process_chapters_stop_import_test(self): """ Test process_chapters when stop_import is set to True """ # GIVEN: An isntance of OpenSongBible importer = OpenSongBible(MagicMock(), path='.', name='.', filename='') importer.parse_chapter_number = MagicMock() # WHEN: stop_import_flag is set to True importer.stop_import_flag = True importer.process_chapters('Book', ['Chapter1']) # THEN: importer.parse_chapter_number not have been called self.assertFalse(importer.parse_chapter_number.called)