class CustomFieldApiTestCase(unittest.TestCase): def setUp(self): self.env = EnvironmentStub() self.cf_api = CustomFields(self.env) def tearDown(self): if hasattr(self.env, "destroy_db"): self.env.destroy_db() del self.env def test_systeminfo(self): try: from trac.loader import get_plugin_info # From ~0.12, Trac handles plugins and versions - no need to test return except ImportError: self.assertTrue( ("CustomFieldAdmin", __import__("customfieldadmin", ["__version__"]).__version__) in self.env.systeminfo ) def test_create(self): for f in ["one", "two", "three"]: cfield = {"name": f, "type": "text"} self.cf_api.create_custom_field(cfield) self.assertEquals( self.cf_api.get_custom_fields(), [ {"name": u"one", "format": "plain", "value": "", "label": u"One", "type": u"text", "order": 1}, {"name": u"two", "format": "plain", "value": "", "label": u"Two", "type": u"text", "order": 2}, {"name": u"three", "format": "plain", "value": "", "label": u"Three", "type": u"text", "order": 3}, ], ) def test_update(self): cfield = {"name": "foo", "type": "text"} self.cf_api.create_custom_field(cfield) self.assertEquals( cfield, {"name": u"foo", "format": "plain", "value": "", "label": u"Foo", "type": u"text", "order": 1} ) cfield["label"] = "Answer" cfield["value"] = "42" self.cf_api.update_custom_field(cfield=cfield) self.assertEquals( cfield, {"name": u"foo", "format": "plain", "value": "42", "label": u"Answer", "type": u"text", "order": 1} ) def test_update_non_existing(self): try: self.cf_api.update_custom_field(cfield={"name": "no_field"}) self.fail("Huh. Missing exception!") except Exception, e: self.assertTrue("'no_field'" in e.message) self.assertTrue("does not exist" in e.message)
class CustomFieldApiTestCase(unittest.TestCase): def setUp(self): self.env = EnvironmentStub() self.cf_api = CustomFields(self.env) def tearDown(self): if hasattr(self.env, 'destroy_db'): self.env.destroy_db() del self.env def test_systeminfo(self): try: from trac.loader import get_plugin_info # From ~0.12, Trac handles plugins and versions - no need to test return except ImportError: self.assertTrue(('CustomFieldAdmin', __import__('customfieldadmin', ['__version__']).__version__) \ in self.env.systeminfo) def test_create(self): for f in ['one', 'two', 'three']: cfield = {'name': f, 'type': 'text'} self.cf_api.create_custom_field(cfield) self.assertEquals(self.cf_api.get_custom_fields(), [{'name': u'one', 'format': 'plain', 'value': '', 'label': u'One', 'type': u'text', 'order': 1}, {'name': u'two', 'format': 'plain', 'value': '', 'label': u'Two', 'type': u'text', 'order': 2}, {'name': u'three', 'format': 'plain', 'value': '', 'label': u'Three', 'type': u'text', 'order': 3}]) def test_update(self): cfield = {'name': 'foo', 'type': 'text'} self.cf_api.create_custom_field(cfield) self.assertEquals(cfield, {'name': u'foo', 'format': 'plain', 'value': '', 'label': u'Foo', 'type': u'text', 'order': 1}) cfield['label'] = 'Answer' cfield['value'] = '42' self.cf_api.update_custom_field(cfield=cfield) self.assertEquals(cfield, {'name': u'foo', 'format': 'plain', 'value': '42', 'label': u'Answer', 'type': u'text', 'order': 1}) def test_update_textarea(self): cfield = {'name': 'foo', 'type': 'textarea'} self.cf_api.create_custom_field(cfield) self.assertEquals(cfield, {'name': u'foo', 'format': 'plain', 'value': '', 'label': u'Foo', 'type': u'textarea', 'order': 1, 'cols': 60, 'rows': 5}) cfield['cols'] = 42 cfield['rows'] = 3 self.cf_api.update_custom_field(cfield=cfield) self.assertEquals(cfield, {'name': u'foo', 'format': 'plain', 'value': '', 'label': u'Foo', 'type': u'textarea', 'order': 1, 'cols': 42, 'rows': 3}) def test_update_non_existing(self): try: self.cf_api.update_custom_field(cfield={'name': 'no_field'}) self.fail("Huh. Missing exception!") except Exception, e: self.assertTrue("'no_field'" in e.message) self.assertTrue('does not exist' in e.message)