Ejemplo n.º 1
0
    def test_boxes_view(self):
        """
        Tests various methods of the boxes view.
        """

        m = Map.objects.first()

        c = AdminClient()
        response = c.get(reverse('boxes', args=[m.id]))
        self.assertEqual(response.status_code, 200)

        response = c.delete(reverse('boxes', args=[m.id]))
        self.assertEqual(response.status_code, 400)

        response = c.put(reverse('boxes', args=[m.id]))
        self.assertEqual(response.status_code, 400)

        data = dict(map=m.id, title='this is a test', geometry=make_point(-77.464599609375, 37.61423141542417))
        response = c.post(reverse('boxes', args=[m.id]), data=data)
        self.assertEqual(response.status_code, 403)

        # TODO: Test POST request with box payload
        c.login_as_admin()

        data = {"type":"FeatureCollection","features":[{"type":"Feature","properties":{"playback":3,"playbackRate":"seconds","interval":1,"intervalRate":"years","title":"Sample Title","description":"Sample Description","start_time":946684800,"end_time":1577836800,"zoom":6,"center":[1766040.0266747456,729122.1624405942],"range":{"start":946684800000,"end":1577836800000},"speed":{"interval":31536000000,"seconds":3},"_offset":0,"_id":1444749022177}}]}

        response = c.post(reverse('boxes', args=[m.id]), data=json.dumps(data), content_type='application/json')
        self.assertEqual(response.status_code, 200)

        box = StoryBox.objects.first()
        feature = data['features'][0]
        self.assertEqual(box.map, m)
        self.assertEqual(box.title, feature['properties']['title'])
        self.assertEqual(box.playback, feature['properties']['playback'])
        self.assertEqual(box.playbackRate, feature['properties']['playbackRate'])
        self.assertEqual(box.interval, feature['properties']['interval'])
        self.assertEqual(box.intervalRate, feature['properties']['intervalRate'])
        self.assertEqual(box.description, feature['properties']['description'])
        self.assertEqual(box.start_time, feature['properties']['start_time'])
        self.assertEqual(box.end_time, feature['properties']['end_time'])
        self.assertEqual(box.zoom, feature['properties']['zoom'])
        self.assertEqual(eval(box.center), feature['properties']['center'])
        self.assertEqual(eval(box.speed), feature['properties']['speed'])
Ejemplo n.º 2
0
    def test_boxes_view(self):
        """
        Tests various methods of the boxes view.
        """

        m = Map.objects.first()

        c = AdminClient()
        response = c.get(reverse('boxes', args=[m.id]))
        self.assertEqual(response.status_code, 200)

        response = c.delete(reverse('boxes', args=[m.id]))
        self.assertEqual(response.status_code, 400)

        response = c.put(reverse('boxes', args=[m.id]))
        self.assertEqual(response.status_code, 400)

        data = dict(map=m.id,
                    title='this is a test',
                    geometry=make_point(-77.464599609375, 37.61423141542417))
        response = c.post(reverse('boxes', args=[m.id]), data=data)
        self.assertEqual(response.status_code, 403)

        # TODO: Test POST request with box payload
        c.login_as_admin()

        data = {
            "type":
            "FeatureCollection",
            "features": [{
                "type": "Feature",
                "properties": {
                    "playback": 3,
                    "playbackRate": "seconds",
                    "interval": 1,
                    "intervalRate": "years",
                    "title": "Sample Title",
                    "description": "Sample Description",
                    "start_time": 946684800,
                    "end_time": 1577836800,
                    "zoom": 6,
                    "center": [1766040.0266747456, 729122.1624405942],
                    "range": {
                        "start": 946684800000,
                        "end": 1577836800000
                    },
                    "speed": {
                        "interval": 31536000000,
                        "seconds": 3
                    },
                    "_offset": 0,
                    "_id": 1444749022177
                }
            }]
        }

        response = c.post(reverse('boxes', args=[m.id]),
                          data=json.dumps(data),
                          content_type='application/json')
        self.assertEqual(response.status_code, 200)

        box = StoryBox.objects.first()
        feature = data['features'][0]
        self.assertEqual(box.map, m)
        self.assertEqual(box.title, feature['properties']['title'])
        self.assertEqual(box.playback, feature['properties']['playback'])
        self.assertEqual(box.playbackRate,
                         feature['properties']['playbackRate'])
        self.assertEqual(box.interval, feature['properties']['interval'])
        self.assertEqual(box.intervalRate,
                         feature['properties']['intervalRate'])
        self.assertEqual(box.description, feature['properties']['description'])
        self.assertEqual(box.start_time, feature['properties']['start_time'])
        self.assertEqual(box.end_time, feature['properties']['end_time'])
        self.assertEqual(box.zoom, feature['properties']['zoom'])
        self.assertEqual(eval(box.center), feature['properties']['center'])
        self.assertEqual(eval(box.speed), feature['properties']['speed'])