Example #1
0
    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()
Example #2
0
    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()