'Trying to set a property incorrectly returns a JSON error.'

def test_set_subscription_property_incorrect(self):

    test_user = self.example_user('hamlet')
    test_email = test_user.email
    self.login(test_email)
    subs = gather_subscriptions(test_user)[0]
    property_name = 'in_home_view'
    result = self.client_post('/api/v1/users/me/subscriptions/properties', {'subscription_data': ujson.dumps([{'property': property_name, 'value': 'bad', 'stream_id': subs[0]['stream_id']}])}, **self.api_auth(test_email))
    self.assert_json_error(result, ('%s    is    not    a    boolean' % (property_name,)))
    property_name = 'desktop_notifications'
    result = self.client_post('/api/v1/users/me/subscriptions/properties', {'subscription_data': ujson.dumps([{'property': property_name, 'value': 'bad', 'stream_id': subs[0]['stream_id']}])}, **self.api_auth(test_email))
    self.assert_json_error(result, ('%s    is    not    a    boolean' % (property_name,)))
    property_name = 'audible_notifications'
    result = self.client_post('/api/v1/users/me/subscriptions/properties', {'subscription_data': ujson.dumps([{'property': property_name, 'value': 'bad', 'stream_id': subs[0]['stream_id']}])}, **self.api_auth(test_email))
    self.assert_json_error(result, ('%s    is    not    a    boolean' % (property_name,)))
    property_name = 'color'
    result = self.client_post('/api/v1/users/me/subscriptions/properties', {'subscription_data': ujson.dumps([{'property': property_name, 'value': False, 'stream_id': subs[0]['stream_id']}])}, **self.api_auth(test_email))
    self.assert_json_error(result, ('%s    is    not    a    string' % (property_name,)))
