def test_csv(self, code):
        monitoring = Monitoring.objects.get(openness_expression__code=code)

        # WHEN user gets monitoring exported as CSV
        request = Mock(method='GET', GET={'format': 'csv'})
        response = monitoring_export(request, monitoring.pk)

        # THEN response status code is 200 (OK)
        self.assertEqual(response.status_code, 200)

        # AND response content-type is "application/vnd.ms-excel"
        self.assertEqual(response.get('content-type'), 'application/vnd.ms-excel')

        # AND CSV content has irrelevant criteria marked with "not relevant" values
        self.assertEqual(self.expected_csv[code], response.content.decode('utf16'))
    def test_json(self, code):
        monitoring = Monitoring.objects.get(openness_expression__code=code)

        # WHEN user gets monitoring exported as JSON
        request = Mock(method='GET', GET={'format': 'json'})
        response = monitoring_export(request, monitoring.pk)

        # THEN response status code is 200 (OK)
        self.assertEqual(response.status_code, 200)

        # AND response content-type is "application/json"
        self.assertEqual(response.get('content-type'), 'application/json')

        # AND JSON content has irrelevant criteria excluded from scores
        self.assertEqual(self.expected_json[code], json.loads(response.content))