def test_count_words(self, mock_db, mock_project_logger, mock_word, mock_word_count, mock_sentence): """Test the count_words method. """ interval = 2 rows = [] for i in range(0, interval * 2 + 1): row = mock.create_autospec(WordInSentence) row.word_id = i row.sentence_count = 5 row.document_count = 2 rows.append(row) mock_db.session.query.return_value.\ filter.return_value.\ filter.return_value.\ filter.return_value.\ group_by.return_value = rows mock_project = mock.create_autospec(Project) counter.count_words(mock_project, interval) word_id_calls = [mock.call(i) for i in range(0, interval * 2 + 1)] # print mock_db.session.commit.call_count assert mock_db.session.commit.call_count == interval + 1 assert mock_word.query.get.call_args_list == word_id_calls
def test_count_words(self, mock_db, mock_project_logger, mock_word): """Test the count_words method. """ interval = 2 mock_word_count = mock.create_autospec(WordCount) mock_word.query.get.return_value.get_counts.return_value = \ mock_word_count rows = [] for i in range(0, interval * 2 + 1): row = mock.create_autospec(WordInSentence) row.word_id = i row.sentence_count = 5 rows.append(row) mock_db.session.execute.return_value.fetchall.return_value = rows mock_project = mock.create_autospec(Project) counter.count_words(mock_project, interval) word_id_calls = [mock.call(i) for i in range(0, interval * 2 + 1)] assert mock_db.session.commit.call_count == interval + 1 assert mock_word.query.get.call_args_list == word_id_calls assert mock_word_count.sentence_count == 5