from unittest.mock import patch from tests.test_utils import FixtureLoader from models import models from tests import BaseTestCase, mock_for_user from tests.campaigns.fixtures.available_campaign_providers_fixture import fixture user1Mock = mock_for_user(1, "dev-marketing-user-1@example.com", "sme-dna|5cf0091d6c91d310fe6fcdc6") user2Mock = mock_for_user(2, "dev-marketing-user-2@example.com", "sme-dna|5cf0091d6c91d310fe6fcdc7") class TestAvailableCampaignProviders(BaseTestCase): maxDiff = None url = "/campaign-providers" def setUp(self): super().setUp() FixtureLoader(models=models).import_as_sql(fixture) @patch("auth.atlas.atlas_token_decoder.jwt.decode", user1Mock.jwt_decode) def test_available_providers_with_main_user(self): response = self.execute_get(self.url, headers=self.headers, query_string={ "onlyExisting": True }) data = response.json self.assertEqual(200, response.status_code) self.assertEqual(2, len(data)) self.assertEqual("Sony Music", data[0]["name"]) self.assertEqual("Gupta Media", data[1]["name"]) @patch("auth.atlas.atlas_token_decoder.jwt.decode", user2Mock.jwt_decode) def test_available_providers_with_second_user(self): response = self.execute_get(self.url, headers=self.headers, query_string={ "onlyExisting": True }) data = response.json self.assertEqual(200, response.status_code) self.assertEqual(1, len(data)) self.assertEqual("Gupta Media", data[0]["name"]) @patch("auth.atlas.atlas_token_decoder.jwt.decode", user2Mock.jwt_decode) def test_all_providers(self): response = self.execute_get(self.url, headers=self.headers) data = response.json self.assertEqual(200, response.status_code) self.assertEqual(2, len(data)) self.assertEqual("Sony Music", data[0]["name"]) self.assertEqual("Gupta Media", data[1]["name"])