From ebf1360c0fe0c2d7eddd4a642526ed321449299a Mon Sep 17 00:00:00 2001 From: Ben Delevingne Date: Thu, 5 Jun 2014 15:19:17 +0100 Subject: [PATCH 1/7] Fix indendation of Advert test model --- wagtail/tests/models.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/wagtail/tests/models.py b/wagtail/tests/models.py index bbf91d278..5598e88f8 100644 --- a/wagtail/tests/models.py +++ b/wagtail/tests/models.py @@ -255,18 +255,21 @@ FormPage.content_panels = [ ] +# Snippets + # Snippets class Advert(models.Model): - url = models.URLField(null=True, blank=True) - text = models.CharField(max_length=255) + url = models.URLField(null=True, blank=True) + text = models.CharField(max_length=255) - panels = [ - FieldPanel('url'), - FieldPanel('text'), - ] + panels = [ + FieldPanel('url'), + FieldPanel('text'), + ] + + def __unicode__(self): + return self.text - def __unicode__(self): - return self.text register_snippet(Advert) From 1f9fe4bfc1455a0e05cde4384555db315f873ce9 Mon Sep 17 00:00:00 2001 From: Ben Delevingne Date: Thu, 5 Jun 2014 15:21:56 +0100 Subject: [PATCH 2/7] Added two test snippet models definitions --- wagtail/tests/models.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/wagtail/tests/models.py b/wagtail/tests/models.py index 5598e88f8..efbce2718 100644 --- a/wagtail/tests/models.py +++ b/wagtail/tests/models.py @@ -273,3 +273,21 @@ class Advert(models.Model): register_snippet(Advert) + + +# AlphaSnippet is not registered here as this is done +# during the tests it are needed for +class AlphaSnippet(models.Model): + text = models.CharField(max_length=255) + + def __unicode__(self): + return self.text + + +# ZuluSnippet is not registered here as this is done +# during the tests it are needed for +class ZuluSnippet(models.Model): + text = models.CharField(max_length=255) + + def __unicode__(self): + return self.text From c200ad50c4363240da14e2d750cba1e59c94b7f1 Mon Sep 17 00:00:00 2001 From: Ben Delevingne Date: Thu, 5 Jun 2014 15:24:29 +0100 Subject: [PATCH 3/7] Test ordering of snippet --- wagtail/wagtailsnippets/tests.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/wagtail/wagtailsnippets/tests.py b/wagtail/wagtailsnippets/tests.py index 727e5e52d..ac5bfa509 100644 --- a/wagtail/wagtailsnippets/tests.py +++ b/wagtail/wagtailsnippets/tests.py @@ -3,7 +3,8 @@ from django.core.urlresolvers import reverse from django.contrib.auth.models import User from wagtail.tests.utils import login, unittest -from wagtail.tests.models import Advert +from wagtail.tests.models import Advert, AlphaSnippet, ZuluSnippet +from wagtail.wagtailsnippets.models import register_snippet, SNIPPET_MODELS from wagtail.wagtailsnippets.views.snippets import get_content_type_from_url_params, get_snippet_edit_handler from wagtail.wagtailsnippets.edit_handlers import SnippetChooserPanel @@ -168,3 +169,16 @@ class TestSnippetChooserPanel(TestCase): def test_render_js(self): self.assertTrue("createSnippetChooser(fixPrefix('id_text'), 'contenttypes/contenttype');" in self.snippet_chooser_panel.render_js()) + + +class TestSnippetOrdering(TestCase): + def setUp(self): + register_snippet(ZuluSnippet) + register_snippet(AlphaSnippet) + + def test_snippets_ordering(self): + # Ensure AlphaSnippet is before Zulu Snippet + # Cannot check first and last position as other snippets + # may get registered elsewhere during test + self.assertLess(SNIPPET_MODELS.index(AlphaSnippet), + SNIPPET_MODELS.index(ZuluSnippet)) From ea82f1293544b94903ecd8d046bd4a636f68283d Mon Sep 17 00:00:00 2001 From: Ben Delevingne Date: Thu, 5 Jun 2014 15:25:17 +0100 Subject: [PATCH 4/7] Order snippet models during snippet registration --- wagtail/wagtailsnippets/models.py | 1 + 1 file changed, 1 insertion(+) diff --git a/wagtail/wagtailsnippets/models.py b/wagtail/wagtailsnippets/models.py index b929f06aa..8af626655 100644 --- a/wagtail/wagtailsnippets/models.py +++ b/wagtail/wagtailsnippets/models.py @@ -19,3 +19,4 @@ def get_snippet_content_types(): def register_snippet(model): if model not in SNIPPET_MODELS: SNIPPET_MODELS.append(model) + SNIPPET_MODELS.sort(key=lambda x: x._meta.verbose_name) From 1a19819a193cc70bb7c44b880054013375732a32 Mon Sep 17 00:00:00 2001 From: Ben Delevingne Date: Thu, 5 Jun 2014 15:46:37 +0100 Subject: [PATCH 5/7] Comment changes so they are real in English --- wagtail/tests/models.py | 4 ++-- wagtail/wagtailsnippets/tests.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/wagtail/tests/models.py b/wagtail/tests/models.py index efbce2718..f06c41ef9 100644 --- a/wagtail/tests/models.py +++ b/wagtail/tests/models.py @@ -276,7 +276,7 @@ register_snippet(Advert) # AlphaSnippet is not registered here as this is done -# during the tests it are needed for +# during the tests it is needed for class AlphaSnippet(models.Model): text = models.CharField(max_length=255) @@ -285,7 +285,7 @@ class AlphaSnippet(models.Model): # ZuluSnippet is not registered here as this is done -# during the tests it are needed for +# during the tests it is needed for class ZuluSnippet(models.Model): text = models.CharField(max_length=255) diff --git a/wagtail/wagtailsnippets/tests.py b/wagtail/wagtailsnippets/tests.py index ac5bfa509..de5e60b9b 100644 --- a/wagtail/wagtailsnippets/tests.py +++ b/wagtail/wagtailsnippets/tests.py @@ -177,7 +177,7 @@ class TestSnippetOrdering(TestCase): register_snippet(AlphaSnippet) def test_snippets_ordering(self): - # Ensure AlphaSnippet is before Zulu Snippet + # Ensure AlphaSnippet is before ZuluSnippet # Cannot check first and last position as other snippets # may get registered elsewhere during test self.assertLess(SNIPPET_MODELS.index(AlphaSnippet), From eb05073e59e416f974d0b6d952ca47bd6886893b Mon Sep 17 00:00:00 2001 From: Ben Date: Fri, 6 Jun 2014 16:54:06 +0100 Subject: [PATCH 6/7] Add comments to test models for clarity --- wagtail/tests/models.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/wagtail/tests/models.py b/wagtail/tests/models.py index f06c41ef9..739e462e1 100644 --- a/wagtail/tests/models.py +++ b/wagtail/tests/models.py @@ -275,8 +275,12 @@ class Advert(models.Model): register_snippet(Advert) -# AlphaSnippet is not registered here as this is done -# during the tests it is needed for +# AlphaSnippet and ZuluSnippet are for testing ordering of +# snippets when registering. They are named as such to ensure +# thier orderign is clear. They are registered during testing +# to ensure specific [in]correct register ordering + +# AlphaSnippet is registered during TestSnippetOrdering class AlphaSnippet(models.Model): text = models.CharField(max_length=255) @@ -284,8 +288,7 @@ class AlphaSnippet(models.Model): return self.text -# ZuluSnippet is not registered here as this is done -# during the tests it is needed for +# ZuluSnippet is registered during TestSnippetOrdering class ZuluSnippet(models.Model): text = models.CharField(max_length=255) From 06677ac4448c2f02e185f0fe476010cda397bab6 Mon Sep 17 00:00:00 2001 From: Ben Date: Fri, 6 Jun 2014 16:54:36 +0100 Subject: [PATCH 7/7] Typo --- wagtail/tests/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wagtail/tests/models.py b/wagtail/tests/models.py index 739e462e1..e061a4bfe 100644 --- a/wagtail/tests/models.py +++ b/wagtail/tests/models.py @@ -277,7 +277,7 @@ register_snippet(Advert) # AlphaSnippet and ZuluSnippet are for testing ordering of # snippets when registering. They are named as such to ensure -# thier orderign is clear. They are registered during testing +# thier ordering is clear. They are registered during testing # to ensure specific [in]correct register ordering # AlphaSnippet is registered during TestSnippetOrdering