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 со статическим объектом? Можно ли высмеять один и тот же класс два раза с разными объектами и входными параметрами?