from django.test import Client

class ViewTestCase:
    view = None
    
    def setUp(self):
        self.view_name = self.view.__name__
        self. client = Client()
    
    def _test_has_context_key(self, response, context_key):
        self.assertTrue( context_key in response.context,
            msg='Expecting the context of %s to have an attribute \'%s\'' % (
                self.view_name,
                context_key
            )
        )
        
    def _test_form(self, response, context_key, form_class):
        self._test_has_context_key(response, context_key)
        self.assertEqual(
            type(response.context[context_key]),
            form_class,
            msg='Expecting %s\'s context.%s to be of the type %s' % (
                self.view_name,
                context_key,
                form_class.__name__
            ) 
        )