def test_start_over_1000_songs(self, mocked_translate): """ Test the start() method of the SearchWorker class when it finds over 1000 songs """ # GIVEN: An importer mock object, some search text and an initialised SearchWorker mocked_translate.side_effect = lambda x, y: y importer = MagicMock() importer.search.return_value = ['song%s' % num for num in range(1050)] search_text = 'Jesus' worker = SearchWorker(importer, search_text) # WHEN: The start() method is called with patch.object(worker, 'finished') as mocked_finished, patch.object(worker, 'quit') as mocked_quit, \ patch.object(worker, 'show_info') as mocked_show_info: worker.start() # THEN: The "finished" and "quit" signals should be emitted importer.search.assert_called_with(search_text, 1000, worker._found_song_callback) mocked_show_info.emit.assert_called_with( 'More than 1000 results', 'Your search has returned more than 1000 ' 'results, it has been stopped. Please ' 'refine your search to fetch better ' 'results.') mocked_finished.emit.assert_called_with() mocked_quit.emit.assert_called_with()
def test_start(self): """ Test the start() method of the SearchWorker class """ # GIVEN: An importer mock object, some search text and an initialised SearchWorker importer = MagicMock() importer.search.return_value = ['song1', 'song2'] search_text = 'Jesus' worker = SearchWorker(importer, search_text) # WHEN: The start() method is called with patch.object(worker, 'finished') as mocked_finished, patch.object(worker, 'quit') as mocked_quit: worker.start() # THEN: The "finished" and "quit" signals should be emitted importer.search.assert_called_with(search_text, 1000, worker._found_song_callback) mocked_finished.emit.assert_called_with() mocked_quit.emit.assert_called_with()
def test_start_over_1000_songs(self, mocked_translate): """ Test the start() method of the SearchWorker class when it finds over 1000 songs """ # GIVEN: An importer mock object, some search text and an initialised SearchWorker mocked_translate.side_effect = lambda x, y: y importer = MagicMock() importer.search.return_value = ['song%s' % num for num in range(1050)] search_text = 'Jesus' worker = SearchWorker(importer, search_text) # WHEN: The start() method is called with patch.object(worker, 'finished') as mocked_finished, patch.object(worker, 'quit') as mocked_quit, \ patch.object(worker, 'show_info') as mocked_show_info: worker.start() # THEN: The "finished" and "quit" signals should be emitted importer.search.assert_called_with(search_text, 1000, worker._found_song_callback) mocked_show_info.emit.assert_called_with('More than 1000 results', 'Your search has returned more than 1000 ' 'results, it has been stopped. Please ' 'refine your search to fetch better ' 'results.') mocked_finished.emit.assert_called_with() mocked_quit.emit.assert_called_with()