Skip to content

Commit

Permalink
Reset translation in test tearDown
Browse files Browse the repository at this point in the history
  • Loading branch information
richardebeling committed Oct 14, 2024
1 parent 2da6090 commit 6079b54
Show file tree
Hide file tree
Showing 23 changed files with 48 additions and 42 deletions.
3 changes: 1 addition & 2 deletions evap/contributor/tests/test_forms.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
from django.forms.models import inlineformset_factory
from django.test import TestCase
from model_bakery import baker

from evap.contributor.forms import EditorContributionForm, EvaluationForm
from evap.evaluation.models import Contribution, Evaluation, Program, Questionnaire, UserProfile
from evap.evaluation.tests.tools import WebTest, get_form_data_from_instance
from evap.evaluation.tests.tools import TestCase, WebTest, get_form_data_from_instance
from evap.staff.forms import ContributionFormset


Expand Down
2 changes: 1 addition & 1 deletion evap/contributor/tests/test_views.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import xlrd
from django.core import mail
from django.urls import reverse
from django_webtest import WebTest
from evap.evaluation.tests.tools import WebTest
from model_bakery import baker

from evap.evaluation.models import Contribution, Course, Evaluation, Questionnaire, UserProfile
Expand Down
3 changes: 2 additions & 1 deletion evap/development/tests/test_commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@

from django.conf import settings
from django.core import management
from django.test import TestCase

from evap.evaluation.tests.tools import TestCase


class TestDumpTestDataCommand(TestCase):
Expand Down
3 changes: 1 addition & 2 deletions evap/evaluation/tests/test_commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
from django.core import mail, management
from django.core.management import CommandError
from django.db.models import Sum
from django.test import TestCase
from django.test.utils import override_settings
from model_bakery import baker

Expand All @@ -29,7 +28,7 @@
TextAnswer,
UserProfile,
)
from evap.evaluation.tests.tools import make_manager, make_rating_answer_counters
from evap.evaluation.tests.tools import TestCase, make_manager, make_rating_answer_counters
from evap.tools import MonthAndDay


Expand Down
3 changes: 1 addition & 2 deletions evap/evaluation/tests/test_forms.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
from django.test import TestCase
from model_bakery import baker

from evap.evaluation.forms import NewKeyForm, ProfileForm
from evap.evaluation.models import UserProfile
from evap.evaluation.tests.tools import get_form_data_from_instance
from evap.evaluation.tests.tools import TestCase, get_form_data_from_instance


class TestNewKeyForm(TestCase):
Expand Down
3 changes: 1 addition & 2 deletions evap/evaluation/tests/test_misc.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,12 @@

from django.conf import settings
from django.core.management import call_command
from django.test import TestCase
from django.test.utils import override_settings
from django.urls import reverse
from model_bakery import baker

from evap.evaluation.models import CourseType, Program, Semester, UserProfile
from evap.evaluation.tests.tools import make_manager, submit_with_modal
from evap.evaluation.tests.tools import TestCase, make_manager, submit_with_modal
from evap.staff.tests.utils import WebTestStaffMode


Expand Down
5 changes: 3 additions & 2 deletions evap/evaluation/tests/test_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
from django.core import mail
from django.core.cache import caches
from django.core.exceptions import ValidationError
from django.test import TestCase, override_settings
from django_webtest import WebTest
from django.test import override_settings
from evap.evaluation.tests.tools import WebTest
from model_bakery import baker

from evap.evaluation.models import (
Expand All @@ -25,6 +25,7 @@
UserProfile,
)
from evap.evaluation.tests.tools import (
TestCase,
let_user_vote_for_evaluation,
make_contributor,
make_editor,
Expand Down
2 changes: 1 addition & 1 deletion evap/evaluation/tests/test_models_logging.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
from datetime import date, datetime, timedelta

from django.test import TestCase
from django.utils.formats import localize
from model_bakery import baker

from evap.evaluation.models import Contribution, Course, Evaluation, Questionnaire, UserProfile
from evap.evaluation.models_logging import FieldAction, InstanceActionType
from evap.evaluation.tests.tools import TestCase


class TestLoggedModel(TestCase):
Expand Down
5 changes: 1 addition & 4 deletions evap/evaluation/tests/test_tools.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,11 @@
from django.core.exceptions import SuspiciousOperation
from django.db.models import Model, prefetch_related_objects
from django.http import Http404
from django.test.testcases import TestCase
from django.utils import translation
from model_bakery import baker

from evap.evaluation.models import Contribution, Course, Evaluation, TextAnswer, UserProfile
from evap.evaluation.tests.tools import WebTest
from evap.evaluation.tests.tools import TestCase, WebTest
from evap.evaluation.tools import (
discard_cached_related_objects,
get_object_from_dict_pk_entry_or_logged_40x,
Expand All @@ -37,8 +36,6 @@ def test_respects_stored_language(self):
self.assertEqual(user.language, "de")
self.assertEqual(translation.get_language(), "de")

translation.activate("en") # for following tests


class SaboteurError(Exception):
"""An exception class used for making sure that our mock is raising the exception and not some other unrelated code"""
Expand Down
4 changes: 1 addition & 3 deletions evap/evaluation/tests/test_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from django.test import override_settings
from django.urls import reverse
from django.utils import translation
from django_webtest import WebTest
from evap.evaluation.tests.tools import WebTest
from model_bakery import baker

from evap.evaluation.models import Evaluation, Question, QuestionType, Semester, UserProfile
Expand Down Expand Up @@ -160,8 +160,6 @@ def test_changes_language(self):
user.refresh_from_db()
self.assertEqual(user.language, "en")

translation.activate("en") # for following tests


class TestProfileView(WebTest):
url = reverse("evaluation:profile_edit")
Expand Down
19 changes: 17 additions & 2 deletions evap/evaluation/tests/tools.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,15 @@
from contextlib import contextmanager
from datetime import timedelta

import django.test
import webtest
from django.conf import settings
from django.contrib.auth.models import Group
from django.db import DEFAULT_DB_ALIAS, connections
from django.http.request import QueryDict
from django.test.utils import CaptureQueriesContext
from django.utils import timezone
from django_webtest import WebTest
from django.utils import timezone, translation
import django_webtest
from model_bakery import baker

from evap.evaluation.models import (
Expand All @@ -28,6 +29,20 @@
)


class ResetLanguageOnTearDownMixin():
def tearDown(self):
super().tearDown()
translation.activate("en") # Django by default does not "reset" this, causing test interdependency

Check warning on line 35 in evap/evaluation/tests/tools.py

View check run for this annotation

Codecov / codecov/patch

evap/evaluation/tests/tools.py#L34-L35

Added lines #L34 - L35 were not covered by tests


class TestCase(django.test.TestCase, ResetLanguageOnTearDownMixin):
pass


class WebTest(django_webtest.WebTest, ResetLanguageOnTearDownMixin):
pass


def to_querydict(dictionary):
querydict = QueryDict(mutable=True)
for key, value in dictionary.items():
Expand Down
2 changes: 1 addition & 1 deletion evap/grades/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from django.contrib.auth.models import Group
from django.core import mail
from django.urls import reverse
from django_webtest import WebTest
from evap.evaluation.tests.tools import WebTest
from model_bakery import baker

from evap.evaluation.models import Contribution, Course, Evaluation, Questionnaire, Semester, UserProfile
Expand Down
3 changes: 1 addition & 2 deletions evap/results/tests/test_exporters.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
from io import BytesIO

import xlrd
from django.test import TestCase
from django.utils import translation
from model_bakery import baker

Expand All @@ -19,7 +18,7 @@
TextAnswer,
UserProfile,
)
from evap.evaluation.tests.tools import make_rating_answer_counters
from evap.evaluation.tests.tools import TestCase, make_rating_answer_counters
from evap.results.exporters import ResultsExporter, TextAnswerExporter
from evap.results.tools import cache_results, get_results
from evap.results.views import filter_text_answers
Expand Down
3 changes: 1 addition & 2 deletions evap/results/tests/test_tools.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
from django.conf import settings
from django.core.cache import caches
from django.test import override_settings
from django.test.testcases import TestCase
from model_bakery import baker

from evap.evaluation.models import (
Expand All @@ -17,7 +16,7 @@
TextAnswer,
UserProfile,
)
from evap.evaluation.tests.tools import make_rating_answer_counters
from evap.evaluation.tests.tools import TestCase, make_rating_answer_counters
from evap.results.tools import (
cache_results,
calculate_average_course_distribution,
Expand Down
4 changes: 2 additions & 2 deletions evap/results/tests/test_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,8 @@
from django.core.management import call_command
from django.db import connection
from django.test import override_settings
from django.test.testcases import TestCase
from django.test.utils import CaptureQueriesContext
from django_webtest import WebTest
from evap.evaluation.tests.tools import WebTest
from model_bakery import baker

from evap.evaluation.models import (
Expand All @@ -25,6 +24,7 @@
UserProfile,
)
from evap.evaluation.tests.tools import (
TestCase,
let_user_vote_for_evaluation,
make_manager,
make_rating_answer_counters,
Expand Down
4 changes: 2 additions & 2 deletions evap/rewards/tests/test_tools.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
from django.test import TestCase, override_settings
from django.test import override_settings
from django.urls import reverse
from model_bakery import baker

from evap.evaluation.models import NO_ANSWER, Course, Evaluation, Question, Questionnaire, QuestionType, UserProfile
from evap.evaluation.tests.tools import WebTest
from evap.evaluation.tests.tools import TestCase, WebTest
from evap.rewards.models import RewardPointGranting, SemesterActivation
from evap.rewards.tools import reward_points_of_user

Expand Down
2 changes: 1 addition & 1 deletion evap/rewards/tests/test_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from django.test import override_settings
from django.urls import reverse
from django_webtest import WebTest
from evap.evaluation.tests.tools import WebTest
from model_bakery import baker

from evap.evaluation.models import Course, Evaluation, Semester, UserProfile
Expand Down
3 changes: 2 additions & 1 deletion evap/staff/tests/test_forms.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from unittest.mock import patch

from django.forms.models import inlineformset_factory
from django.test import TestCase, override_settings
from django.test import override_settings
from model_bakery import baker

from evap.contributor.forms import EvaluationForm as ContributorEvaluationForm
Expand All @@ -21,6 +21,7 @@
UserProfile,
)
from evap.evaluation.tests.tools import (
TestCase,
create_evaluation_with_responsible_and_editor,
get_form_data_from_instance,
to_querydict,
Expand Down
4 changes: 2 additions & 2 deletions evap/staff/tests/test_importers.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@
from django.conf import settings
from django.core.exceptions import ValidationError
from django.forms.models import model_to_dict
from django.test import TestCase, override_settings
from django.test import override_settings
from model_bakery import baker

import evap.staff.fixtures.excel_files_test_data as excel_data
from evap.evaluation.models import Contribution, Course, CourseType, Evaluation, Program, Semester, UserProfile
from evap.evaluation.tests.tools import assert_no_database_modifications
from evap.evaluation.tests.tools import TestCase, assert_no_database_modifications
from evap.staff.importers import (
ImporterLog,
ImporterLogEntry,
Expand Down
5 changes: 2 additions & 3 deletions evap/staff/tests/test_tools.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,13 @@
from unittest.mock import MagicMock, patch

from django.contrib.auth.models import Group
from django.test import TestCase
from django.utils.html import escape
from django_webtest import WebTest
from evap.evaluation.tests.tools import WebTest
from model_bakery import baker
from openpyxl import load_workbook

from evap.evaluation.models import Contribution, Course, Evaluation, UserProfile
from evap.evaluation.tests.tools import assert_no_database_modifications
from evap.evaluation.tests.tools import TestCase, assert_no_database_modifications
from evap.rewards.models import RewardPointGranting, RewardPointRedemption
from evap.staff.fixtures.excel_files_test_data import (
create_memory_csv_file,
Expand Down
4 changes: 2 additions & 2 deletions evap/staff/tests/test_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,9 @@
from django.db.models import Model
from django.http import HttpResponse
from django.test import override_settings
from django.test.testcases import TestCase
from django.urls import reverse
from django.utils import translation
from django_webtest import WebTest
from evap.evaluation.tests.tools import WebTest
from model_bakery import baker

import evap.staff.fixtures.excel_files_test_data as excel_data
Expand All @@ -41,6 +40,7 @@
)
from evap.evaluation.tests.tools import (
FuzzyInt,
TestCase,
assert_no_database_modifications,
create_evaluation_with_responsible_and_editor,
let_user_vote_for_evaluation,
Expand Down
2 changes: 1 addition & 1 deletion evap/staff/tests/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import time
from contextlib import contextmanager

from django_webtest import WebTest
from evap.evaluation.tests.tools import WebTest

from evap.evaluation.tests.tools import WebTestWith200Check
from evap.staff.tools import ImportType, generate_import_filename
Expand Down
2 changes: 1 addition & 1 deletion evap/student/tests/test_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from functools import partial

from django.test.utils import override_settings
from django_webtest import WebTest
from evap.evaluation.tests.tools import WebTest
from model_bakery import baker

from evap.evaluation.models import (
Expand Down

0 comments on commit 6079b54

Please sign in to comment.