def test_missing_field(self): sf = SingleForm() for field in self.fields: if not sf.fields[field].required: continue data = dict(self.mgmt_data.items() + self.make_sub_form_data(0).items()) del data['mock_image-0-' + field] form = Form(self.uih, data, prefix=self.prefix) self.assertFalse(form.is_valid(), field + ' is required') self.assertTrue(field in form.errors[0], field + ' not in error')
def test_to_xml_multi_form(self): data = dict(self.make_mgmt_data(2).items() + self.make_sub_form_data(0).items() + self.make_sub_form_data(1).items()) form = Form(self.uih, data, prefix=self.prefix) self.assertTrue(form.is_valid()) root = create_root('root') form.to_xml(root) self.assertTrue(css('skymaker[id="6"]')(root)) self.assertTrue(css('skymaker module-version')(root)) self.assertTrue(css('skymaker module-version')(root)) self.assertTrue(css('skymaker parents item')(root)) self.assertEqual(len(css('skymaker images item')(root)), 2)
def test_no_forms(self): form = Form(self.uih, { 'mock_image-apply_mock_image': True, 'mock_image-TOTAL_FORMS': 1, 'mock_image-INITIAL_FORMS': 0, 'mock_image-MAX_NUM_FORMS': 1000 }, prefix=self.prefix) self.assertFalse(form.is_valid(), msg='Must not accept zero forms.') form = Form(self.uih, { 'mock_image-apply_mock_image': True, 'mock_image-TOTAL_FORMS': 0, 'mock_image-INITIAL_FORMS': 0, 'mock_image-MAX_NUM_FORMS': 1000 }, prefix=self.prefix) self.assertFalse(form.is_valid(), msg='Must not accept zero forms.')
def test_from_xml_multi_form(self): data = dict(self.make_mgmt_data(2).items() + self.make_sub_form_data(0).items() + self.make_sub_form_data(1).items()) form = Form(self.uih, data, prefix=self.prefix) self.assertTrue(form.is_valid()) root = create_root('tao', xmlns='http://tao.asvo.org.au/schema/module-parameters-v1') work = child_element(root, 'workflow') child_element(work, 'schema-version', '2.0') form.to_xml(work) root = xml_parse(xml_print(root)) ## do this to recover namespace info not explicit above form = Form.from_xml(self.uih, root, self.prefix) self.assertTrue(form.is_valid()) self.assertEqual(form.total_form_count(), 2, msg='Must create extra form.')
def test_missing_sub_forms(self): form = Form(self.uih, self.mgmt_data, prefix=self.prefix) self.assertEqual(1, form.total_form_count()) self.assertFalse(form.is_valid(), msg='Empty form is not accepted')