class TestFieldRowPanelWithChooser(TestCase): def setUp(self): self.request = RequestFactory().get('/') user = AnonymousUser() # technically, Anonymous users cannot access the admin self.request.user = user self.EventPageForm = get_form_for_model( EventPage, form_class=WagtailAdminPageForm, formsets=[]) self.event = EventPage(title='Abergavenny sheepdog trials', date_from=date(2014, 7, 19), date_to=date(2014, 7, 21)) self.dates_panel = FieldRowPanel([ FieldPanel('date_from'), ImageChooserPanel('feed_image'), ]).bind_to_model(EventPage) def test_render_as_object(self): form = self.EventPageForm( {'title': 'Pontypridd sheepdog trials', 'date_from': '2014-07-20', 'date_to': '2014-07-22'}, instance=self.event) form.is_valid() field_panel = self.dates_panel.bind_to_instance( instance=self.event, form=form, request=self.request ) result = field_panel.render_as_object() # check that the populated form field is included self.assertIn('value="2014-07-20"', result) # there should be no errors on this field self.assertNotIn('<p class="error-message">', result)
class TestFieldRowPanelWithChooser(TestCase): def setUp(self): self.request = RequestFactory().get('/') user = AnonymousUser() # technically, Anonymous users cannot access the admin self.request.user = user self.EventPageForm = get_form_for_model( EventPage, form_class=WagtailAdminPageForm, formsets=[]) self.event = EventPage(title='Abergavenny sheepdog trials', date_from=date(2014, 7, 19), date_to=date(2014, 7, 21)) self.dates_panel = FieldRowPanel([ FieldPanel('date_from'), ImageChooserPanel('feed_image'), ]).bind_to_model(EventPage) def test_render_as_object(self): form = self.EventPageForm( {'title': 'Pontypridd sheepdog trials', 'date_from': '2014-07-20', 'date_to': '2014-07-22'}, instance=self.event) form.is_valid() field_panel = self.dates_panel.bind_to_instance( instance=self.event, form=form, request=self.request ) result = field_panel.render_as_object() # check that the populated form field is included self.assertIn('value="2014-07-20"', result) # there should be no errors on this field self.assertNotIn('<p class="error-message">', result)
class TestFieldRowPanel(TestCase): def setUp(self): self.request = RequestFactory().get('/') user = AnonymousUser() # technically, Anonymous users cannot access the admin self.request.user = user self.EventPageForm = get_form_for_model( EventPage, form_class=WagtailAdminPageForm, formsets=[]) self.event = EventPage(title='Abergavenny sheepdog trials', date_from=date(2014, 7, 20), date_to=date(2014, 7, 21)) self.dates_panel = FieldRowPanel([ FieldPanel('date_from', classname='col4'), FieldPanel('date_to', classname='coltwo'), ]).bind_to_model(EventPage) def test_render_as_object(self): form = self.EventPageForm( {'title': 'Pontypridd sheepdog trials', 'date_from': '2014-07-20', 'date_to': '2014-07-22'}, instance=self.event) form.is_valid() field_panel = self.dates_panel.bind_to_instance( instance=self.event, form=form, request=self.request ) result = field_panel.render_as_object() # check that the populated form field is included self.assertIn('value="2014-07-22"', result) # there should be no errors on this field self.assertNotIn('<p class="error-message">', result) def test_render_as_field(self): form = self.EventPageForm( {'title': 'Pontypridd sheepdog trials', 'date_from': '2014-07-20', 'date_to': '2014-07-22'}, instance=self.event) form.is_valid() field_panel = self.dates_panel.bind_to_instance( instance=self.event, form=form, request=self.request ) result = field_panel.render_as_field() # check that label is output in the 'field' style self.assertIn('<label for="id_date_to">End date:</label>', result) self.assertNotIn('<legend>End date</legend>', result) # check that help text is included self.assertIn('Not required if event is on a single day', result) # check that the populated form field is included self.assertIn('value="2014-07-22"', result) # there should be no errors on this field self.assertNotIn('<p class="error-message">', result) def test_error_message_is_rendered(self): form = self.EventPageForm( {'title': 'Pontypridd sheepdog trials', 'date_from': '2014-07-20', 'date_to': '2014-07-33'}, instance=self.event) form.is_valid() field_panel = self.dates_panel.bind_to_instance( instance=self.event, form=form, request=self.request ) result = field_panel.render_as_field() self.assertIn('<p class="error-message">', result) self.assertIn('<span>Enter a valid date.</span>', result) def test_add_col_when_wrong_in_panel_def(self): form = self.EventPageForm( {'title': 'Pontypridd sheepdog trials', 'date_from': '2014-07-20', 'date_to': '2014-07-33'}, instance=self.event) form.is_valid() field_panel = self.dates_panel.bind_to_instance( instance=self.event, form=form, request=self.request ) result = field_panel.render_as_field() self.assertIn('<li class="field-col coltwo col6', result) def test_added_col_doesnt_change_siblings(self): form = self.EventPageForm( {'title': 'Pontypridd sheepdog trials', 'date_from': '2014-07-20', 'date_to': '2014-07-33'}, instance=self.event) form.is_valid() field_panel = self.dates_panel.bind_to_instance( instance=self.event, form=form, request=self.request ) result = field_panel.render_as_field() self.assertIn('<li class="field-col col4', result)
class TestFieldRowPanel(TestCase): def setUp(self): self.request = RequestFactory().get('/') user = AnonymousUser() # technically, Anonymous users cannot access the admin self.request.user = user self.EventPageForm = get_form_for_model( EventPage, form_class=WagtailAdminPageForm, formsets=[]) self.event = EventPage(title='Abergavenny sheepdog trials', date_from=date(2014, 7, 20), date_to=date(2014, 7, 21)) self.dates_panel = FieldRowPanel([ FieldPanel('date_from', classname='col4'), FieldPanel('date_to', classname='coltwo'), ]).bind_to_model(EventPage) def test_render_as_object(self): form = self.EventPageForm( {'title': 'Pontypridd sheepdog trials', 'date_from': '2014-07-20', 'date_to': '2014-07-22'}, instance=self.event) form.is_valid() field_panel = self.dates_panel.bind_to_instance( instance=self.event, form=form, request=self.request ) result = field_panel.render_as_object() # check that the populated form field is included self.assertIn('value="2014-07-22"', result) # there should be no errors on this field self.assertNotIn('<p class="error-message">', result) def test_render_as_field(self): form = self.EventPageForm( {'title': 'Pontypridd sheepdog trials', 'date_from': '2014-07-20', 'date_to': '2014-07-22'}, instance=self.event) form.is_valid() field_panel = self.dates_panel.bind_to_instance( instance=self.event, form=form, request=self.request ) result = field_panel.render_as_field() # check that label is output in the 'field' style self.assertIn('<label for="id_date_to">End date:</label>', result) self.assertNotIn('<legend>End date</legend>', result) # check that help text is included self.assertIn('Not required if event is on a single day', result) # check that the populated form field is included self.assertIn('value="2014-07-22"', result) # there should be no errors on this field self.assertNotIn('<p class="error-message">', result) def test_error_message_is_rendered(self): form = self.EventPageForm( {'title': 'Pontypridd sheepdog trials', 'date_from': '2014-07-20', 'date_to': '2014-07-33'}, instance=self.event) form.is_valid() field_panel = self.dates_panel.bind_to_instance( instance=self.event, form=form, request=self.request ) result = field_panel.render_as_field() self.assertIn('<p class="error-message">', result) self.assertIn('<span>Enter a valid date.</span>', result) def test_add_col_when_wrong_in_panel_def(self): form = self.EventPageForm( {'title': 'Pontypridd sheepdog trials', 'date_from': '2014-07-20', 'date_to': '2014-07-33'}, instance=self.event) form.is_valid() field_panel = self.dates_panel.bind_to_instance( instance=self.event, form=form, request=self.request ) result = field_panel.render_as_field() self.assertIn('<li class="field-col coltwo col6', result) def test_added_col_doesnt_change_siblings(self): form = self.EventPageForm( {'title': 'Pontypridd sheepdog trials', 'date_from': '2014-07-20', 'date_to': '2014-07-33'}, instance=self.event) form.is_valid() field_panel = self.dates_panel.bind_to_instance( instance=self.event, form=form, request=self.request ) result = field_panel.render_as_field() self.assertIn('<li class="field-col col4', result)