import unittest from tests import BaseTestCase, mock from tests.test_utils import FixtureLoader from models import models from unittest.mock import patch from tests.projects.fixtures.projects_fixture import fixture @patch("auth.atlas.atlas_token_decoder.jwt.decode", mock.jwt_decode) class TestProjectCalendar(BaseTestCase): def setUp(self): super().setUp() FixtureLoader(models=models).import_as_sql(fixture) def test_fetch_projects_calendar_data(self): url = "/projects/calendar" response = self.execute_get(url, headers=self.headers) calendar_data = response.json["items"] self.assertEqual(response.status_code, 200) self.assertEqual(len(calendar_data), 4) self.soft_assert(self.assertEqual, calendar_data[0]["id"], 500) self.soft_assert(self.assertEqual, calendar_data[0]["name"], "test_project_1") self.soft_assert(self.assertEqual, calendar_data[0]["campaignsAmount"], 3) self.soft_assert(self.assertEqual, calendar_data[0]["earliestStartDate"], "2007-01-01") self.soft_assert(self.assertEqual, calendar_data[0]["latestEndDate"], "2020-10-11") self.soft_assert(self.assertEqual, calendar_data[0]["sharedStatus"], "by_me") self.soft_assert(self.assertEqual, calendar_data[1]["id"], 420) self.soft_assert(self.assertEqual, calendar_data[2]["id"], 502) self.soft_assert(self.assertEqual, calendar_data[2]["name"], "test_project_3") self.soft_assert(self.assertEqual, calendar_data[2]["campaignsAmount"], 6) self.soft_assert(self.assertEqual, calendar_data[2]["earliestStartDate"], "2007-02-02") self.soft_assert(self.assertEqual, calendar_data[2]["latestEndDate"], "2020-10-11") self.soft_assert(self.assertEqual, calendar_data[2]["sharedStatus"], "by_me") self.assert_all() if __name__ == "__main__": unittest.main()