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.campaigns_fixture import fixture user1Mock = mock_for_user(1, "user-1@example.com", "sme-dna|5cf0091d6c91d310fe6fcdc6") class TestCampaignProvidersForCampaign(BaseTestCase): url = "/campaigns/{}/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_get_campaign_providers_for_campaign_with_non_prs_provider(self): response = self.execute_get(self.url.format(1), headers=self.headers) self.assertEqual(200, response.status_code) self.soft_assert_equal(len(response.json), 2) self.soft_assert_equal(response.json[0]["id"], 1) self.soft_assert_equal(response.json[0]["name"], "Sony Music") self.soft_assert_equal(response.json[1]["id"], 2) self.soft_assert_equal(response.json[1]["name"], "Gupta Media") self.assert_all() @patch("auth.atlas.atlas_token_decoder.jwt.decode", user1Mock.jwt_decode) def test_get_campaign_providers_for_campaign_with_prs_provider(self): response = self.execute_get(self.url.format(2), headers=self.headers) self.assertEqual(200, response.status_code) self.soft_assert_equal(len(response.json), 3) self.soft_assert_equal(response.json[0]["id"], 1) self.soft_assert_equal(response.json[0]["name"], "Sony Music") self.soft_assert_equal(response.json[1]["id"], 2) self.soft_assert_equal(response.json[1]["name"], "Gupta Media") self.soft_assert_equal(response.json[1]["id"], 7) self.soft_assert_equal(response.json[1]["name"], "PRS BCD TRAVEL") self.assert_all()