Fix tests
This commit is contained in:
18
setup.py
18
setup.py
@ -9,19 +9,19 @@ install_requires = [
|
||||
]
|
||||
|
||||
tests_require = [
|
||||
'factory_boy==2.8.1',
|
||||
"factory_boy==3.2.1",
|
||||
'flake8-blind-except',
|
||||
'flake8-debugger',
|
||||
'flake8-isort',
|
||||
'flake8',
|
||||
'freezegun==0.3.8',
|
||||
'pytest-cov==2.5.1',
|
||||
'pytest-django==4.1.0',
|
||||
'pytest-pythonpath==0.7.2',
|
||||
'pytest-sugar==0.9.1',
|
||||
'pytest==6.1.2',
|
||||
'wagtail_factories==1.1.0',
|
||||
'pytest-mock==1.6.3',
|
||||
"freezegun==1.2.1",
|
||||
"pytest-cov==3.0.0",
|
||||
"pytest-django==4.5.2",
|
||||
"pytest-pythonpath==0.7.4",
|
||||
"pytest-sugar==0.9.4",
|
||||
"pytest==6.2.5",
|
||||
"wagtail_factories==2.0.1",
|
||||
"pytest-mock==3.8.1",
|
||||
]
|
||||
|
||||
docs_require = [
|
||||
|
@ -10,7 +10,7 @@ from wagtail_personalisation.models import PersonalisablePageMetadata
|
||||
try:
|
||||
from wagtail.core.models import Locale
|
||||
|
||||
class LocaleFactory(factory.DjangoModelFactory):
|
||||
class LocaleFactory(factory.django.DjangoModelFactory):
|
||||
language_code = "en"
|
||||
|
||||
class Meta:
|
||||
@ -35,7 +35,7 @@ class RegularPageFactory(PageFactory):
|
||||
model = models.RegularPage
|
||||
|
||||
|
||||
class PersonalisablePageMetadataFactory(factory.DjangoModelFactory):
|
||||
class PersonalisablePageMetadataFactory(factory.django.DjangoModelFactory):
|
||||
|
||||
class Meta:
|
||||
model = PersonalisablePageMetadata
|
||||
|
@ -7,32 +7,32 @@ import factory
|
||||
from wagtail_personalisation import rules
|
||||
|
||||
|
||||
class DayRuleFactory(factory.DjangoModelFactory):
|
||||
class DayRuleFactory(factory.django.DjangoModelFactory):
|
||||
|
||||
class Meta:
|
||||
model = rules.DayRule
|
||||
|
||||
|
||||
class DeviceRuleFactory(factory.DjangoModelFactory):
|
||||
class DeviceRuleFactory(factory.django.DjangoModelFactory):
|
||||
|
||||
class Meta:
|
||||
model = rules.DeviceRule
|
||||
|
||||
|
||||
class QueryRuleFactory(factory.DjangoModelFactory):
|
||||
class QueryRuleFactory(factory.django.DjangoModelFactory):
|
||||
|
||||
class Meta:
|
||||
model = rules.QueryRule
|
||||
|
||||
|
||||
class ReferralRuleFactory(factory.DjangoModelFactory):
|
||||
class ReferralRuleFactory(factory.django.DjangoModelFactory):
|
||||
regex_string = "test.test"
|
||||
|
||||
class Meta:
|
||||
model = rules.ReferralRule
|
||||
|
||||
|
||||
class TimeRuleFactory(factory.DjangoModelFactory):
|
||||
class TimeRuleFactory(factory.django.DjangoModelFactory):
|
||||
start_time = datetime.time(8, 0, 0)
|
||||
end_time = datetime.time(23, 0, 0)
|
||||
|
||||
@ -40,7 +40,7 @@ class TimeRuleFactory(factory.DjangoModelFactory):
|
||||
model = rules.TimeRule
|
||||
|
||||
|
||||
class VisitCountRuleFactory(factory.DjangoModelFactory):
|
||||
class VisitCountRuleFactory(factory.django.DjangoModelFactory):
|
||||
operator = "more_than"
|
||||
count = 0
|
||||
|
||||
@ -48,6 +48,6 @@ class VisitCountRuleFactory(factory.DjangoModelFactory):
|
||||
model = rules.VisitCountRule
|
||||
|
||||
|
||||
class OriginCountryRuleFactory(factory.DjangoModelFactory):
|
||||
class OriginCountryRuleFactory(factory.django.DjangoModelFactory):
|
||||
class Meta:
|
||||
model = rules.OriginCountryRule
|
||||
|
@ -5,7 +5,7 @@ import factory
|
||||
from wagtail_personalisation import models
|
||||
|
||||
|
||||
class SegmentFactory(factory.DjangoModelFactory):
|
||||
class SegmentFactory(factory.django.DjangoModelFactory):
|
||||
name = 'TestSegment'
|
||||
status = models.Segment.STATUS_ENABLED
|
||||
|
||||
|
@ -4,7 +4,7 @@ from wagtail.core.models import Site
|
||||
from tests.factories.page import ContentPageFactory
|
||||
|
||||
|
||||
class SiteFactory(factory.DjangoModelFactory):
|
||||
class SiteFactory(factory.django.DjangoModelFactory):
|
||||
hostname = 'localhost'
|
||||
port = factory.Sequence(lambda n: 81 + n)
|
||||
site_name = 'Test site'
|
||||
|
@ -2,6 +2,7 @@ import datetime
|
||||
|
||||
import pytest
|
||||
from django.db.models import ProtectedError
|
||||
from wagtail import VERSION as WAGTAIL_VERSION
|
||||
|
||||
from tests.factories.page import ContentPageFactory
|
||||
from tests.factories.segment import SegmentFactory
|
||||
@ -76,8 +77,8 @@ def test_sitemap_generation_for_variants_is_disabled(segmented_page):
|
||||
@pytest.mark.django_db
|
||||
def test_segment_edit_view(site, client, django_user_model):
|
||||
test_segment = SegmentFactory()
|
||||
try:
|
||||
new_panel = test_segment.panels[1].children[0].bind_to(model=Segment)
|
||||
except AttributeError:
|
||||
if WAGTAIL_VERSION >= (3, 0):
|
||||
new_panel = test_segment.panels[1].children[0].bind_to_model(Segment)
|
||||
else:
|
||||
new_panel = test_segment.panels[1].children[0].bind_to(model=Segment)
|
||||
assert new_panel.related.name == "wagtail_personalisation_timerules"
|
||||
|
@ -13,11 +13,22 @@ from wagtail_personalisation.rules import TimeRule, VisitCountRule
|
||||
|
||||
def form_with_data(segment, *rules):
|
||||
model_fields = ['type', 'status', 'count', 'name', 'match_any', 'randomisation_percent']
|
||||
model_formsets = [
|
||||
"wagtail_personalisation_timerules",
|
||||
"wagtail_personalisation_dayrules",
|
||||
"wagtail_personalisation_referralrules",
|
||||
"wagtail_personalisation_visitcountrules",
|
||||
"wagtail_personalisation_queryrules",
|
||||
"wagtail_personalisation_devicerules",
|
||||
"wagtail_personalisation_userisloggedinrules",
|
||||
"wagtail_personalisation_origincountryrules",
|
||||
]
|
||||
|
||||
class TestSegmentAdminForm(SegmentAdminForm):
|
||||
class Meta:
|
||||
model = Segment
|
||||
fields = model_fields
|
||||
formsets = model_formsets
|
||||
|
||||
data = model_to_dict(segment, model_fields)
|
||||
for formset in TestSegmentAdminForm().formsets.values():
|
||||
|
@ -1,5 +1,10 @@
|
||||
import pytest
|
||||
from django.http import Http404
|
||||
from wagtail import VERSION as WAGTAIL_VERSION
|
||||
|
||||
if WAGTAIL_VERSION >= (3, 0):
|
||||
from wagtail.models import Page
|
||||
else:
|
||||
from wagtail.core.models import Page
|
||||
|
||||
from tests.factories.page import ContentPageFactory
|
||||
|
Reference in New Issue
Block a user