Django unittest, как высмеять один и тот же класс внутри представления?

views.py

def order(request, pk):
    products = JsonManager('FastProducts').target_data 
    products_prices = JsonManager('FastProductsPrices').target_data

tests.test_views

class OrderApiTestCase(APITestCase):

def setUp(self) -> None:
    self.user = User.objects.create_user('john', 'john@snow.com', 'johnpassword')

def test_order(self, ):
    self.client.login(username='john', password='johnpassword')


TARGET_CHOICES = (
    ('FastProducts', 'FastProducts'),
    ('FastProductsPrices', 'FastProductsPrices'),
)




class JsonManager:

    def __init__(self, target: str):
        assert target in dict(TARGET_CHOICES), f'`JsonManager` Unrecognized target: "{target}"'
        self.target = target
        self.target_data = []
        self._read_target_data()
        
    
    def _read_target_data(self):
        with open(self.target_data_path) as r:
            self.target_data = json.loads(r.read())

Как можно сымитировать вызов класса JsonManager со статическим объектом? Можно ли высмеять один и тот же класс два раза с разными объектами и входными параметрами?

Вернуться на верх