from unittest.mock import patch from tests.test_utils import FixtureLoader from models import models from tests import BaseTestCase, mock_for_user from tests.labels.fixtures.labels_fixture import fixture user1Mock = mock_for_user(1, "user-1@example.com", "sme-dna|user-1", labels=[1, 2, 3, 4, 5]) user2Mock = mock_for_user(2, "user-2@example.com", "sme-dna|user-2", labels=[1, 2, 3, 4, 5]) user3Mock = mock_for_user(3, "user-3@example.com", "sme-dna|user-3", labels=[]) class TestGetDefaultLabel(BaseTestCase): url = "/labels/default-label" 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_default_label(self): response = self.execute_get(self.url, headers=self.headers) self.assertEqual(200, response.status_code) response_data = response.json self.soft_assert_equal(response_data["id"], 3) self.soft_assert_equal(response_data["name"], "RCA Records") self.assert_all() @patch("auth.atlas.atlas_token_decoder.jwt.decode", user2Mock.jwt_decode) def test_get_default_label_for_user_with_no_artist_teams(self): response = self.execute_get(self.url, headers=self.headers) self.assertEqual(200, response.status_code) response_data = response.json self.soft_assert_equal(response_data["id"], 3) self.soft_assert_equal(response_data["name"], "RCA Records") self.assert_all() @patch("auth.atlas.atlas_token_decoder.jwt.decode", user3Mock.jwt_decode) def test_get_default_label_for_user_with_no_labels_should_return_404(self): response = self.execute_get(self.url, headers=self.headers) self.assertEqual(404, response.status_code)