diff --git a/blogapp/__init__.py b/blogapp/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/blogapp/admin.py b/blogapp/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/blogapp/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/blogapp/apps.py b/blogapp/apps.py new file mode 100644 index 0000000..d50a428 --- /dev/null +++ b/blogapp/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class BlogappConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'blogapp' diff --git a/blogapp/migrations/__init__.py b/blogapp/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/blogapp/models.py b/blogapp/models.py new file mode 100644 index 0000000..529d4ae --- /dev/null +++ b/blogapp/models.py @@ -0,0 +1,11 @@ +from django.db import models + + +# Create your models here. +class Blog(models.Model): + title = models.CharField(max_length=100) + content = models.TextField() + date_posted = models.DateTimeField(auto_now_add=True) + + def __str__(self): + return self.title \ No newline at end of file diff --git a/blogapp/tests.py b/blogapp/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/blogapp/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/blogapp/views.py b/blogapp/views.py new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/blogapp/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here. diff --git a/djangocms_export_page/mixins.py b/djangocms_export_page/mixins.py index 0e3a57b..dffc9bc 100644 --- a/djangocms_export_page/mixins.py +++ b/djangocms_export_page/mixins.py @@ -1,4 +1,4 @@ -from django.core.urlresolvers import reverse +from django.urls import reverse from django.utils.translation import ugettext_lazy as _ from .constants import FILE_FORMATS diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/factories.py b/tests/factories.py new file mode 100644 index 0000000..2edad9e --- /dev/null +++ b/tests/factories.py @@ -0,0 +1,12 @@ +import factory + +from blogapp.models import Blog + + +class BlogFactory(factory.django.DjangoModelFactory): + class Meta: + model = Blog + + title = factory.Faker('sentence', nb_words=4) + content = factory.Faker('text') + \ No newline at end of file diff --git a/tests/templates/test.html b/tests/templates/test.html new file mode 100644 index 0000000..facf9cf --- /dev/null +++ b/tests/templates/test.html @@ -0,0 +1,10 @@ + +{% load cms_tags %} + + +{% block content %} + + {% placeholder 'test' %} + +{% endblock content %} + diff --git a/tests/test_models.py b/tests/test_models.py index 45629e9..9f2e4ca 100644 --- a/tests/test_models.py +++ b/tests/test_models.py @@ -1,12 +1,11 @@ -from test.blog.tests.factories import BlogFactory - from django.test import RequestFactory, TestCase, override_settings -from ..export.common import PageExport -from ..export.docx import DocxPageExport +from djangocms_export_page.export.common import PageExport +from djangocms_export_page.export.docx import DocxPageExport +from annefrank.blog.tests.factories import BlogFactory -@override_settings(ROOT_URLCONF='test.blog.tests.urls_tests') +@override_settings(ROOT_URLCONF='annefrank.blog.tests.urls_tests') class ExportModelTests(TestCase): def setUp(self): self.object = BlogFactory() diff --git a/tests/test_pages.py b/tests/test_pages.py index 936eff0..4ab6232 100644 --- a/tests/test_pages.py +++ b/tests/test_pages.py @@ -1,21 +1,23 @@ -from test.plugins.tests.factories import PageFactory - from django.test import RequestFactory, TestCase -from cms.api import add_plugin +from cms.api import add_plugin, create_page from cms.models import Placeholder from meta.views import Meta from mock import patch -from ..export.common import Field, PageExport -from ..export.docx import DocxPageExport +from djangocms_export_page.export.common import Field, PageExport +from djangocms_export_page.export.docx import DocxPageExport class ExportPageTests(TestCase): + """ + Needs test template setup in settings TEMPLATES and CMS_TEMPLATES + + """ + def setUp(self): - self.placeholder = Placeholder.objects.create(slot='test') - self.page = PageFactory() - self.page.placeholders.add(self.placeholder) + self.page = create_page('test', 'test.html', 'nl') + self.placeholder = self.page.placeholders.get(slot='test') self.language = 'nl' self.request = RequestFactory().get('/nl/') @@ -29,7 +31,7 @@ def test_base_url(self): def test_page_url(self): export = PageExport(self.request, self.page, language=self.language) - self.assertEqual(export.page_url, 'http://example.com/nl/') + self.assertEqual(export.page_url, 'http://example.com/nl/test/') @patch('djangocms_export_page.export.common.get_page_meta') def test_meta_extra_custom_props(self, mock): diff --git a/tests/test_utils.py b/tests/test_utils.py index 919ba34..968d4e7 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -1,6 +1,6 @@ from django.test import TestCase -from ..utils import clean_value +from djangocms_export_page.utils import clean_value class CleanValueTests(TestCase): diff --git a/tox.ini b/tox.ini index e02410a..5b72873 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ [tox] envlist = - py36-django20 + py310-django32 isort ; docs skip_missing_interpreters = true @@ -8,6 +8,7 @@ skip_missing_interpreters = true [travis:env] DJANGO = 2.0: django20 + 3.2: django32 [testenv] extras = @@ -15,6 +16,7 @@ extras = coverage deps = django20: Django>=2.0,<2.1 + django32: Django>=3.2,<3.3 commands = py.test tests \ --junitxml=reports/junit.xml \