'Get the dummy context for shallow testing.
The context returned will always contain a parameter called
`shallow_tested`, which tells the signal receiver that the
test was not rendered in an actual logical test (so we can
still do coverage reporting on which templates have a logical
test).
Note: `context` just holds dummy values used to make the test
pass. This context only ensures that the templates do not
throw a 500 error when rendered using dummy data.  If new
required parameters are added to a template, this test will
fail; the usual fix is to just update the context below to add
the new parameter to the dummy data.
:param kwargs: Keyword arguments can be used to update the base
context.'

def get_context(self, **kwargs):

    user_profile = self.example_user('hamlet')
    email = user_profile.email
    context = dict(article='zerver/help/index.md', shallow_tested=True, user_profile=user_profile, user=user_profile, form=DummyForm(full_name=get_form_value('John    Doe'), terms=get_form_value(True), email=get_form_value(email), emails=get_form_value(email)), current_url=(lambda : 'www.zulip.com'), hubot_lozenges_dict={}, integrations_dict={}, referrer=dict(full_name='John    Doe', realm=dict(name='zulip.com')), uid='uid', token='token', message_count=0, messages=[dict(header='Header')], new_streams=dict(html=''), data=dict(title='Title'), device_info={'device_browser': 'Chrome', 'device_os': 'Windows', 'device_ip': '127.0.0.1', 'login_time': '9:33am    NewYork,    NewYork'})
    context.update(kwargs)
    return context
