def test_widget_field_initialization(self): """Should be able to initialize a new WidgetField""" register.widget(TestWidget) # Create article and image for testing article = DispatchTestHelpers.create_article(self.client) image = DispatchTestHelpers.create_image(self.client) testwidget = TestWidget() field_data = { 'id': 'test-widget', 'data': { 'title': 'test title', 'description': 'test description', 'article': article.data['id'], 'image': image.data['id'] } } # a test Widget is now initialized, initilize a widget field to put the test Widget in testfield = WidgetField('Title', [TestWidgetSub]) try: testfield.validate(field_data) except InvalidField: self.fail('Widget should be valid')
def test_validate_widget_field_required_no_data(self): """Trying to validate invalid data (no data) should result in InvalidField error""" testfield = WidgetField('Title', [TestWidgetSub], required=True) # The data to be validated - valid data are basestrings field_data = '' try: testfield.validate(field_data) self.fail('Widget data was invalid - validate method should have raised Invalid Field') except InvalidField: pass
def test_validate_widget_field_no_id(self): """Trying to validate invalid data (no id) should result in InvalidField error""" testfield = WidgetField('Title', [TestWidgetSub]) # The data to be validated - valid data are basestrings field_data = { 'id': '', 'data': { 'title': 'test title', 'description': 'test description', } } try: testfield.validate(field_data) self.fail('Widget ID was invalid - validate method should have raised Invalid Field') except InvalidField: pass