7

Fix tests

This commit is contained in:
nick.moreton
2022-11-18 16:44:42 +00:00
parent 5642e117f1
commit e31793e748
8 changed files with 41 additions and 24 deletions

View File

@ -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 = [

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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'

View File

@ -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"

View File

@ -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():

View File

@ -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