Esempio n. 1
0
 def test_render_single(self):
     widget = self.get_widget_instance()
     val = 4
     rendered_value = widget.render('field_name', val)
     inputs = parsed_inputs(rendered_value)
     field = inputs['field_name_1'][0]
     self.assertEqual(field.attributes['data-selectable-type'].value, 'hidden-multiple')
     self.assertEqual(field.attributes['type'].value, 'hidden')
     self.assertEqual(field.attributes['value'].value, str(val))
Esempio n. 2
0
 def test_render_list(self):
     widget = self.get_widget_instance()
     list_val = [8, 5]
     rendered_value = widget.render('field_name', list_val)
     inputs = parsed_inputs(rendered_value)
     found_values = []
     for field in inputs['field_name_1']:
         self.assertEqual(field.attributes['data-selectable-type'].value, 'hidden-multiple')
         self.assertEqual(field.attributes['type'].value, 'hidden')
         found_values.append(int(field.attributes['value'].value))
     self.assertListEqual(found_values, list_val)
Esempio n. 3
0
 def test_populate_from_model(self):
     "Populate from existing model."
     other_thing = OtherThing.objects.create(thing=self.test_thing, name="a")
     form = OtherThingForm(instance=other_thing)
     rendered_form = form.as_p()
     inputs = parsed_inputs(rendered_form)
     # Selected text should be populated
     thing_0 = inputs["thing_0"][0]
     self.assertEqual(thing_0.attributes["value"].value, self.test_thing.name)
     # Selected pk should be populated
     thing_1 = inputs["thing_1"][0]
     self.assertEqual(int(thing_1.attributes["value"].value), self.test_thing.pk)
Esempio n. 4
0
 def test_render_qs(self):
     widget = self.get_widget_instance()
     t1 = self.create_thing()
     t2 = self.create_thing()
     qs_val = Thing.objects.filter(pk__in=[t1.pk, t2.pk]).values_list('pk', flat=True)
     rendered_value = widget.render('field_name', qs_val)
     inputs = parsed_inputs(rendered_value)
     found_values = []
     for field in inputs['field_name_1']:
         self.assertEqual(field.attributes['data-selectable-type'].value, 'hidden-multiple')
         self.assertEqual(field.attributes['type'].value, 'hidden')
         found_values.append(int(field.attributes['value'].value))
     self.assertListEqual(found_values, [t1.pk, t2.pk])
Esempio n. 5
0
 def test_populate_from_model(self):
     "Populate from existing model."
     other_thing = OtherThing.objects.create(thing=self.test_thing,
                                             name='a')
     form = OtherThingForm(instance=other_thing)
     rendered_form = form.as_p()
     inputs = parsed_inputs(rendered_form)
     # Selected text should be populated
     thing_0 = inputs['thing_0'][0]
     self.assertEqual(thing_0.attributes['value'].value,
                      self.test_thing.name)
     # Selected pk should be populated
     thing_1 = inputs['thing_1'][0]
     self.assertEqual(int(thing_1.attributes['value'].value),
                      self.test_thing.pk)
Esempio n. 6
0
 def test_invalid_but_still_selected(self):
     "Invalid form should keep selected item."
     data = {
         "name": "",
         "thing_0": self.test_thing.name,  # Text input
         "thing_1": self.test_thing.pk,  # Hidden input
     }
     form = OtherThingForm(data=data)
     self.assertFalse(form.is_valid(), "Form should not be valid")
     rendered_form = form.as_p()
     inputs = parsed_inputs(rendered_form)
     # Selected text should be populated
     thing_0 = inputs["thing_0"][0]
     self.assertEqual(thing_0.attributes["value"].value, self.test_thing.name)
     # Selected pk should be populated
     thing_1 = inputs["thing_1"][0]
     self.assertEqual(int(thing_1.attributes["value"].value), self.test_thing.pk)
Esempio n. 7
0
 def test_invalid_but_still_selected(self):
     "Invalid form should keep selected item."
     data = {
         'name': '',
         'thing_0': self.test_thing.name, # Text input
         'thing_1': self.test_thing.pk, # Hidden input
     }
     form = OtherThingForm(data=data)
     self.assertFalse(form.is_valid(), 'Form should not be valid')
     rendered_form = form.as_p()
     inputs = parsed_inputs(rendered_form)
     # Selected text should be populated
     thing_0 = inputs['thing_0'][0]
     self.assertEqual(thing_0.attributes['value'].value, self.test_thing.name)
     # Selected pk should be populated
     thing_1 = inputs['thing_1'][0]
     self.assertEqual(int(thing_1.attributes['value'].value), self.test_thing.pk)
Esempio n. 8
0
 def test_invalid_but_still_selected(self):
     "Invalid form should keep selected item."
     data = {
         'name': '',
         'thing_0': self.test_thing.name,  # Text input
         'thing_1': self.test_thing.pk,  # Hidden input
     }
     form = OtherThingForm(data=data)
     self.assertFalse(form.is_valid(), 'Form should not be valid')
     rendered_form = form.as_p()
     inputs = parsed_inputs(rendered_form)
     # Selected text should be populated
     thing_0 = inputs['thing_0'][0]
     self.assertEqual(thing_0.attributes['value'].value,
                      self.test_thing.name)
     # Selected pk should be populated
     thing_1 = inputs['thing_1'][0]
     self.assertEqual(int(thing_1.attributes['value'].value),
                      self.test_thing.pk)