Compare commits

..

8 Commits

4 changed files with 26 additions and 10 deletions

View File

@ -0,0 +1,16 @@
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('wcs', '0053_new_card_cell'),
]
operations = [
migrations.AlterField(
model_name='wcsformcell',
name='cached_title',
field=models.CharField(max_length=250, verbose_name='Title'),
),
]

View File

@ -70,7 +70,7 @@ def get_formdef_css_classes(formdef):
class WcsFormCell(CellBase):
formdef_reference = models.CharField(_('Form'), max_length=150)
cached_title = models.CharField(_('Title'), max_length=150)
cached_title = models.CharField(_('Title'), max_length=250)
cached_url = models.URLField(_('URL'))
cached_json = JSONField(blank=True, default=dict)
@ -116,7 +116,7 @@ class WcsFormCell(CellBase):
for form in forms_response_json.get('data') or []:
slug = form.get('slug')
if slug == form_slug:
self.cached_title = form.get('title')
self.cached_title = form.get('title')[:250]
self.cached_url = form.get('url')
self.cached_json = form
self.save(update_fields=['cached_title', 'cached_url', 'cached_json'])

View File

@ -49,11 +49,11 @@ def test_form_cell_setup(mock_send):
assert form.fields['formdef_reference'].widget.choices == [
('default:a-private-form', 'test : a private form'),
('default:a-second-form-title', 'test : a second form title'),
('default:form-title', 'test : form title'),
('default:form-title', 'test : too long form title' + 'e' * 240),
('default:third-form-title', 'test : Third form title'),
('other:a-private-form', 'test2 : a private form'),
('other:a-second-form-title', 'test2 : a second form title'),
('other:form-title', 'test2 : form title'),
('other:form-title', 'test2 : too long form title' + 'e' * 240),
('other:third-form-title', 'test2 : Third form title'),
]
assert 'extra_css_class' not in form.fields
@ -67,8 +67,8 @@ def test_form_cell_save_cache(mock_send):
assert cell.get_additional_label() is None
cell.formdef_reference = 'default:form-title'
cell.save()
assert cell.cached_title == 'form title'
assert cell.get_additional_label() == 'form title'
assert cell.cached_title == 'too long form title' + 'e' * 231
assert cell.get_additional_label() == 'too long form title' + 'e' * 231
# make sure cached attributes are removed from serialized pages
assert 'cached_' not in json.dumps(page.get_serialized_page())
@ -76,7 +76,7 @@ def test_form_cell_save_cache(mock_send):
assert cell.render_for_search() == ''
assert cell.get_external_links_data() == [
{
'title': 'form title',
'title': 'too long form title' + 'e' * 231,
'url': 'http://127.0.0.1:8999/form-title/',
'text': '<p>a form description</p> foo bar',
}
@ -88,7 +88,7 @@ def test_form_cell_save_cache(mock_send):
# run update db cache
appconfig = apps.get_app_config('wcs')
appconfig.update_db_cache()
assert WcsFormCell.objects.get(id=cell.id).cached_title == 'form title'
assert WcsFormCell.objects.get(id=cell.id).cached_title == 'too long form title' + 'e' * 231
@mock.patch('requests.Session.send', side_effect=mocked_requests_send)
@ -145,7 +145,7 @@ def test_form_cell_load(mock_send):
cells = page.get_cells()
assert len(cells) == 1
cell = cells[0]
assert cell.cached_title == 'form title'
assert cell.cached_title == 'too long form title' + 'e' * 231
@mock.patch('requests.Session.send', side_effect=mocked_requests_send)

View File

@ -9,7 +9,7 @@ WCS_FORMDEFS_DATA = [
{'slug': 'a-second-form-title', 'title': 'a second form title', 'url': '/a-second-form-title/'},
{
'slug': 'form-title',
'title': 'form title',
'title': 'too long form title' + 'e' * 240,
'url': '/form-title/',
'keywords': ['foo', 'bar'],
'description': '<p>a form description</p>',