Change FeatureCompleteToy test model to use custom CharField primary key

pull/10900/head
Sage Abdullah 2023-09-15 19:39:51 +01:00
rodzic 38c9e1d521
commit f77125155f
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: EB1A33CC51CC0217
3 zmienionych plików z 27 dodań i 10 usunięć

Wyświetl plik

@ -609,10 +609,10 @@ class TestOrdering(WagtailTestUtils, TestCase):
@classmethod @classmethod
def setUpTestData(cls): def setUpTestData(cls):
objects = [ objects = [
FeatureCompleteToy(name="CCCCCCCCCC"), FeatureCompleteToy(name="CCCCCCCCCC", strid="1"),
FeatureCompleteToy(name="AAAAAAAAAA"), FeatureCompleteToy(name="AAAAAAAAAA", strid="2"),
FeatureCompleteToy(name="DDDDDDDDDD"), FeatureCompleteToy(name="DDDDDDDDDD", strid="3"),
FeatureCompleteToy(name="BBBBBBBBBB"), FeatureCompleteToy(name="BBBBBBBBBB", strid="4"),
] ]
FeatureCompleteToy.objects.bulk_create(objects) FeatureCompleteToy.objects.bulk_create(objects)
@ -695,7 +695,7 @@ class TestBreadcrumbs(WagtailTestUtils, TestCase):
self.assertItemsRendered(items, response) self.assertItemsRendered(items, response)
def test_edit_view(self): def test_edit_view(self):
edit_url = reverse("feature_complete_toy:edit", args=(self.object.pk,)) edit_url = reverse("feature_complete_toy:edit", args=(quote(self.object.pk),))
response = self.client.get(edit_url) response = self.client.get(edit_url)
items = [ items = [
{ {
@ -709,7 +709,10 @@ class TestBreadcrumbs(WagtailTestUtils, TestCase):
self.assertItemsRendered(items, response) self.assertItemsRendered(items, response)
def test_delete_view(self): def test_delete_view(self):
delete_url = reverse("feature_complete_toy:delete", args=(self.object.pk,)) delete_url = reverse(
"feature_complete_toy:delete",
args=(quote(self.object.pk),),
)
response = self.client.get(delete_url) response = self.client.get(delete_url)
soup = self.get_soup(response.content) soup = self.get_soup(response.content)
breadcrumbs = soup.select_one('[data-controller="w-breadcrumbs"]') breadcrumbs = soup.select_one('[data-controller="w-breadcrumbs"]')

Wyświetl plik

@ -1,5 +1,6 @@
# Generated by Django 4.2.4 on 2023-08-15 14:10 # Generated by Django 4.2.4 on 2023-08-15 14:10
import wagtail.test.testapp.models
from django.db import migrations, models from django.db import migrations, models
@ -14,12 +15,12 @@ class Migration(migrations.Migration):
name="FeatureCompleteToy", name="FeatureCompleteToy",
fields=[ fields=[
( (
"id", "strid",
models.AutoField( models.CharField(
auto_created=True,
primary_key=True, primary_key=True,
default=wagtail.test.testapp.models.random_quotable_pk,
max_length=255,
serialize=False, serialize=False,
verbose_name="ID",
), ),
), ),
("name", models.CharField(max_length=255)), ("name", models.CharField(max_length=255)),

Wyświetl plik

@ -1,6 +1,8 @@
import datetime import datetime
import hashlib import hashlib
import os import os
import random
import string
import uuid import uuid
from django import forms from django import forms
@ -2139,8 +2141,19 @@ class GenericSnippetNoFieldIndexPage(GenericSnippetPage):
snippet_content_type_nonindexed.wagtail_reference_index_ignore = True snippet_content_type_nonindexed.wagtail_reference_index_ignore = True
def random_quotable_pk():
quote_chrs = '":/_#?;@&=+$,"[]<>%\n\\'
components = (quote_chrs, string.ascii_letters, string.digits)
return "".join(random.choice(components[i % len(components)]) for i in range(10))
# Models to be registered with a ModelViewSet # Models to be registered with a ModelViewSet
class FeatureCompleteToy(index.Indexed, models.Model): class FeatureCompleteToy(index.Indexed, models.Model):
strid = models.CharField(
max_length=255,
primary_key=True,
default=random_quotable_pk,
)
name = models.CharField(max_length=255) name = models.CharField(max_length=255)
release_date = models.DateField(default=datetime.date.today) release_date = models.DateField(default=datetime.date.today)