from unittest.mock import patch from tests import BaseTestCase, mock, FixtureLoader from models import models from tests.media_plan.fixtures.media_plan_metrics_fixture import fixture @patch("auth.atlas.atlas_token_decoder.jwt.decode", mock.jwt_decode) class TestGetProjectMetrics(BaseTestCase): def setUp(self): super().setUp() FixtureLoader(models=models).import_as_sql(fixture) def test_get_project_metrics(self): response = self.execute_get("/projects/502/media-plans/44/metrics", headers=self.headers) self.assertEqual(200, response.status_code) data = response.json self.assertEqual(data['campaignsCount'], 2) self.assertEqual(data['plannedBudget'], 10200.0) self.assertEqual(data['platformsCount'], 0) self.assertEqual(len(data['territories']), 1) def test_get_metrics_for_draft_campaign(self): response = self.execute_get("/projects/507/media-plans/49/metrics", headers=self.headers) self.assertEqual(200, response.status_code) data = response.json self.assertEqual(data['campaignsCount'], 0) self.assertEqual(data['plannedBudget'], 0) self.assertEqual(data['platformsCount'], 0) self.assertEqual(len(data['territories']), 0)