diff --git a/majak/settings/test.py b/majak/settings/test.py new file mode 100644 index 0000000000000000000000000000000000000000..c31108db00533b2b0d2a895b68179982b7827e0d --- /dev/null +++ b/majak/settings/test.py @@ -0,0 +1,3 @@ +from .dev import * + +INSTALLED_APPS += ["tests"] diff --git a/pytest.ini b/pytest.ini index d56649df501e8f881900af8bf5833bbbcc64ffa7..581d37570cc6a4b21afee02e80d697882034e1dc 100644 --- a/pytest.ini +++ b/pytest.ini @@ -1,3 +1,3 @@ [pytest] -addopts = --ds=majak.settings.dev -p no:warnings --nomigrations +addopts = --ds=majak.settings.test -p no:warnings --nomigrations python_files = test_*.py diff --git a/tests/calendar_utils/conftest.py b/tests/calendar_utils/conftest.py index dff52c421e8ab87857ccc2ed143e5dc33a37ae76..d8e3018a72a2949ff9f61c5d96ae7556c62c4d89 100644 --- a/tests/calendar_utils/conftest.py +++ b/tests/calendar_utils/conftest.py @@ -3,11 +3,8 @@ from datetime import datetime from pathlib import Path import pytest -from django.db import connection from icalevnt.icalparser import Event -from calendar_utils.models import CalendarMixin - @pytest.fixture(scope="session") def sample_response(): @@ -60,19 +57,3 @@ def sample_future_events(): event_dict["start"] = datetime.fromisoformat(event_dict["start"]) event_dict["end"] = datetime.fromisoformat(event_dict["end"]) return event_dict_list - - -class DummyModel(CalendarMixin): - class Meta: - app_label = "__tests" - - -@pytest.fixture(scope="session") -def Dummy(django_db_setup, django_db_blocker): - with django_db_blocker.unblock(): - with connection.schema_editor() as editor: - editor.create_model(DummyModel) - yield DummyModel - with django_db_blocker.unblock(): - with connection.schema_editor() as editor: - editor.delete_model(DummyModel) diff --git a/tests/calendar_utils/test_models.py b/tests/calendar_utils/test_models.py index 62b2245e5628c74f746c445a4d1bcd6b359d4000..7b2f62c4266be7ff70d8c66ab4427ec88c57e426 100644 --- a/tests/calendar_utils/test_models.py +++ b/tests/calendar_utils/test_models.py @@ -4,6 +4,7 @@ import pytz from faker import Faker from calendar_utils.models import Calendar +from tests.models import DummyCalendarModel pytestmark = pytest.mark.django_db @@ -86,16 +87,16 @@ def test_calendar__save_and_load_events__no_values(): assert cal.future_events is None -def test_calendar_mixin__no_calendar_url(Dummy): - obj = Dummy.objects.create() +def test_calendar_mixin__no_calendar_url(): + obj = DummyCalendarModel.objects.create() assert obj.calendar is None -def test_calendar_mixin__set_calendar_url(Dummy, mocker): +def test_calendar_mixin__set_calendar_url(mocker): m_update = mocker.patch.object(Calendar, "update_source") url = fake.url() - obj = Dummy.objects.create(calendar_url=url) + obj = DummyCalendarModel.objects.create(calendar_url=url) obj.refresh_from_db() assert obj.calendar_url == url @@ -103,9 +104,9 @@ def test_calendar_mixin__set_calendar_url(Dummy, mocker): assert m_update.call_count == 1 -def test_calendar_mixin__update_calendar_url(Dummy, mocker): +def test_calendar_mixin__update_calendar_url(mocker): m_update = mocker.patch.object(Calendar, "update_source") - obj = Dummy.objects.create(calendar_url=fake.url()) + obj = DummyCalendarModel.objects.create(calendar_url=fake.url()) url = fake.url() m_update.reset_mock() @@ -118,10 +119,10 @@ def test_calendar_mixin__update_calendar_url(Dummy, mocker): assert m_update.call_count == 1 -def test_calendar_mixin__unchanged_calendar_url(Dummy, mocker): +def test_calendar_mixin__unchanged_calendar_url(mocker): m_update = mocker.patch.object(Calendar, "update_source") url = fake.url() - obj = Dummy.objects.create(calendar_url=url) + obj = DummyCalendarModel.objects.create(calendar_url=url) m_update.reset_mock() obj.save() @@ -132,9 +133,9 @@ def test_calendar_mixin__unchanged_calendar_url(Dummy, mocker): assert m_update.call_count == 1 -def test_calendar_mixin__clear_calendar_url(Dummy, mocker): +def test_calendar_mixin__clear_calendar_url(mocker): m_update = mocker.patch.object(Calendar, "update_source") - obj = Dummy.objects.create(calendar_url=fake.url()) + obj = DummyCalendarModel.objects.create(calendar_url=fake.url()) m_update.reset_mock() obj.calendar_url = None diff --git a/tests/models.py b/tests/models.py new file mode 100644 index 0000000000000000000000000000000000000000..5c6da8b862ad5a7f63e77e8cc8256119bf8cb301 --- /dev/null +++ b/tests/models.py @@ -0,0 +1,5 @@ +from calendar_utils.models import CalendarMixin + + +class DummyCalendarModel(CalendarMixin): + pass