"""Test for the Timeseries Handler.""" import datetime from unittest.mock import patch from socials.constants.timeseries import DEFAULT_START_DATE from socials.logic import timeseries from socials.models import timeseries as timeseries_model timeseries_mock_response = [ ('tiktok', 732400, None, None, None, '2021-02-24'), ('tiktok', 742200, None, None, None, '2021-02-25'), ('tiktok', 749000, None, None, None, '2021-02-26'), ('tiktok', 770800, None, None, None, '2021-02-27'), ('tiktok', 794000, None, None, None, '2021-02-28') ] def test_get_timeseries(): """Test get_timeseries.""" with patch.object(timeseries_model.snowflake, 'fetchall', return_value=timeseries_mock_response): response = timeseries_model.get_timeseries('https://www.tiktok.com/@kaliuchis', '2021-02-02') assert response == [ { 'platform': 'tiktok', 'followers': 732400, 'popularity': None, 'monthlyListeners': None, 'views': None, 'timestamp': '2021-02-24' }, { 'platform': 'tiktok', 'followers': 742200, 'popularity': None, 'monthlyListeners': None, 'views': None, 'timestamp': '2021-02-25' }, { 'platform': 'tiktok', 'followers': 749000, 'popularity': None, 'monthlyListeners': None, 'views': None, 'timestamp': '2021-02-26' }, { 'platform': 'tiktok', 'followers': 770800, 'popularity': None, 'monthlyListeners': None, 'views': None, 'timestamp': '2021-02-27' }, { 'platform': 'tiktok', 'followers': 794000, 'popularity': None, 'monthlyListeners': None, 'views': None, 'timestamp': '2021-02-28' } ] account_id = 569002 identity_id = '6d7d12e7-1158-4c4f-a5ac-96275605d212' @patch('socials.models.pending.get_pending_social_accounts') @patch('socials.models.timeseries.get_timeseries_by_account_id') def test_get_timeseries_by_account_id( mock_timeseries, mock_pending_socials ): """Test get_timeseries_by_account_id.""" mock_pending_socials.return_value = [{ 'platform': 'instagram', 'url': 'https://instagram.com/jfouling' }] mock_timeseries.return_value = [{ 'platform': 'instagram', 'url': 'https://instagram.com/jacobfowler' }] result = timeseries.get_timeseries_by_account_id( account_id, identity_id, DEFAULT_START_DATE) assert result.message == [{ 'platform': 'instagram', 'url': 'https://instagram.com/jacobfowler', 'pendingUrl': 'https://instagram.com/jfouling' }]