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)
    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_has_right_number_of_submissions(self):
        request = RequestFactory().get('')
        request.get_dataset = lambda: self.dataset

        serializer = PlaceSerializer(self.place)
        serializer.context = {'request': request}

        self.assertEqual(serializer.data['submission_sets']['comments']['length'], 2)
Exemplo n.º 4
0
    def test_place_has_right_number_of_submissions(self):
        request = RequestFactory().get("")
        request.get_dataset = lambda: self.dataset

        serializer = PlaceSerializer(self.place)
        serializer.context = {"request": request}

        self.assertEqual(serializer.data["submission_sets"]["comments"]["length"], 2)
    def test_can_serlialize_a_null_instance(self):
        request = RequestFactory().get('')
        request.get_dataset = lambda: self.dataset

        serializer = PlaceSerializer(None)
        serializer.context = {'request': request}

        data = serializer.data
        self.assertIsInstance(data, dict)
Exemplo n.º 6
0
    def test_place_has_right_number_of_submissions(self):
        request = RequestFactory().get('')
        request.get_dataset = lambda: self.dataset

        serializer = PlaceSerializer(self.place)
        serializer.context = {'request': request}

        self.assertEqual(
            serializer.data['submission_sets']['comments']['length'], 2)
Exemplo n.º 7
0
    def test_can_serlialize_a_null_instance(self):
        request = RequestFactory().get('')
        request.get_dataset = lambda: self.dataset

        serializer = PlaceSerializer(None)
        serializer.context = {'request': request}

        data = serializer.data
        self.assertIsInstance(data, dict)
    def test_place_hides_private_data_by_default(self):
        request = RequestFactory().get('')
        request.get_dataset = lambda: self.dataset

        serializer = PlaceSerializer(self.place, context={'request': request})

        self.assertIn('public-attr', serializer.data)
        self.assertNotIn('private-attr', serializer.data)
    def test_place_includes_private_data_when_specified(self):
        request = RequestFactory().get('')
        request.get_dataset = lambda: self.dataset

        serializer = PlaceSerializer(self.place,
                                     context={
                                         'request': request,
                                         'include_private': True
                                     })

        self.assertIn('public-attr', serializer.data)
        self.assertIn('private-attr', serializer.data)