def test_build_view_data(self):
        metadata_preprocessor = MetaDataTemplatePreprocessor()

        with patch('app.templating.metadata_template_preprocessor.get_metadata', return_value=self.metadata):
            render_data = metadata_preprocessor.build_metadata(self.schema_json)

        self.assertIsNotNone(render_data)

        survey_data = render_data['survey']
        self.assertIsNotNone(survey_data)

        self.assertEqual(self.schema_json['title'], survey_data['title'])
        self.assertEqual(self.schema_json['survey_id'], survey_data['survey_code'])
        self.assertEqual(self.schema_json['introduction']['information_to_provide'], survey_data['information_to_provide'])
        self.assertEqual(self.schema_json['theme'], survey_data['theme'])
        self.assertEqual('7 July 2016', survey_data['return_by'])
        self.assertEqual('2 February 2016', survey_data['start_date'])
        self.assertEqual('3 March 2016', survey_data['end_date'])
        self.assertIsNone(survey_data['employment_date'])
        self.assertEqual(self.jwt["period_str"], survey_data['period_str'])

        respondent = render_data['respondent']
        self.assertIsNotNone(respondent)

        self.assertEqual(self.jwt["ru_ref"], respondent['respondent_id'])
        self.assertEqual(self.jwt["ru_name"], respondent['address']['name'])
        self.assertEqual(self.jwt["trad_as"], respondent['address']['trading_as'])
def build_summary_model(questionnaire_schema):
    '''
    :param questionnaire_schema: variable substituted questionnaire schema
    :param previous_location:
    :return: context dict for summary page variable substitution.
    '''
    metadata_template_preprocessor = MetaDataTemplatePreprocessor()

    render_data = {
      "meta": metadata_template_preprocessor.build_metadata(questionnaire_schema),
      "content": _build_summary(questionnaire_schema),
    }

    logger.debug("Rendering data is %s", render_data)

    return render_data