def test_pre_put_validation(self): """Test pre-put checks for widget handlers.""" widget = InteractiveWidget( id='WidgetName', name='Widget Name', category='Category', template='Template') with self.assertRaises(ValidationError): widget.handlers = [] widget.put() with self.assertRaises(ValidationError): widget.handlers = [AnswerHandler(), AnswerHandler()] widget.put() widget.handlers = [ AnswerHandler(name='click'), AnswerHandler(name='click')] with self.assertRaises(ValidationError): widget.put() widget.handlers = [ AnswerHandler(name='submit'), AnswerHandler(name='click')] widget.put() InteractiveWidget.delete_all_widgets()
def test_required_properties(self): """Test validation of required widget properties.""" widget = InteractiveWidget(id='Widget Name', name='Widget Name') with self.assertRaises(ValidationError): widget.put() widget.category = 'Category' with self.assertRaises(ValidationError): widget.put() widget.template = 'Template' with self.assertRaises(ValidationError): widget.put() widget.handlers = [AnswerHandler()] widget.put() InteractiveWidget.delete_all_widgets()