def test_visible_has_truthy_boolean_values(self): # You should be able to use case-insensitive "on", "yes" and "true" for # the visible value (primarily for backwards compatibility). request = RequestFactory().get('') request.get_dataset = lambda: self.dataset view = PlaceInstanceView() view.request = request self.place.visible = False self.place.save() self.place.refresh_from_db() self.assert_(not self.place.visible) serializer = PlaceSerializer( self.place, context={ 'view': view, 'request': request }, data={'visible': 'On'}, partial=True, ) self.assert_(serializer.is_valid()) serializer.save() self.place.refresh_from_db() self.assert_(self.place.visible)
def test_place_partial_update(self): request = RequestFactory().get('') request.get_dataset = lambda: self.dataset view = PlaceInstanceView() view.request = request serializer = PlaceSerializer( self.place, context={ 'view': view, 'request': request, 'include_private': True }, data={ 'private-attr': 4, 'new-attr': 5, 'geometry': 'POINT(4 5)' }, partial=True, ) self.assert_(serializer.is_valid()) serializer.save() self.assertEqual(json.loads(self.place.data), { 'public-attr': 1, 'private-attr': 4, 'new-attr': 5 }) self.assertEqual(self.place.geometry.wkt, GEOSGeometry('POINT(4 5)').wkt)