Example #1
0
class TestKarlUserWidget(TestCase):

    def setUp(self):
        self.field = Mock()
        self.field.name='users'
        self.widget = KarlUserWidget()

    def test_subclass(self):
        # assume other bits behave as per base widget :-)
        self.assertTrue(isinstance(self.widget,Widget))
                        
    def test_serialize(self):
        # call
        self.assertEqual(
            self.widget.serialize(self.field,''),
            self.field.renderer.return_value
            )
        # check we called renderer correctly
        self.field.renderer.assert_called_with(
            'karluserwidget',
            cstruct=(),
            field=self.field
            )

    def test_serialize_field_not_users(self):
        self.field.name = 'somethingelse'
        
        with ShouldRaise(Exception(
                "This widget must be used on a field named 'users'"
                )):
            self.widget.serialize(self.field,''),

        # check renderer not called
        self.assertFalse(self.field.renderer.called)

    def test_deserialize(self):
        pstruct = []

        returned = self.widget.deserialize(self.field,pstruct)

        # use identity to check we just pass through
        self.assertTrue(returned is pstruct)
Example #2
0
 def setUp(self):
     self.field = Mock()
     self.field.name='users'
     self.widget = KarlUserWidget()