Ejemplo n.º 1
0
    def test_with_initial(self):
        Fake, FakeForm = self.factory()
        zones = [GeoZoneFactory() for _ in range(3)]

        fake = Fake(spatial=SpatialCoverage(zones=zones, granularity=random_spatial_granularity()))

        zone = GeoZoneFactory()
        data = MultiDict({"spatial-zones": zone.id, "spatial-granularity": random_spatial_granularity()})

        form = FakeForm(data, fake)

        form.validate()
        self.assertEqual(form.errors, {})

        form.populate_obj(fake)

        self.assertEqual(len(fake.spatial.zones), 1)
        self.assertEqual(fake.spatial.zones[0], zone)
Ejemplo n.º 2
0
    def test_with_zone_empty_string(self):
        Fake, FakeForm = self.factory()

        fake = Fake()
        form = FakeForm(MultiDict({"spatial-zones": "", "spatial-granularity": random_spatial_granularity()}))

        form.validate()
        self.assertEqual(form.errors, {})

        form.populate_obj(fake)

        self.assertEqual(len(fake.spatial.zones), 0)
Ejemplo n.º 3
0
    def test_with_initial(self):
        Fake, FakeForm = self.factory()
        zones = [GeoZoneFactory() for _ in range(3)]

        fake = Fake(spatial=SpatialCoverage(
            zones=zones, granularity=random_spatial_granularity()))

        zone = GeoZoneFactory()
        data = MultiDict({
            'spatial-zones': zone.id,
            'spatial-granularity': random_spatial_granularity()
        })

        form = FakeForm(data, fake)

        form.validate()
        self.assertEqual(form.errors, {})

        form.populate_obj(fake)

        self.assertEqual(len(fake.spatial.zones), 1)
        self.assertEqual(fake.spatial.zones[0], zone)
Ejemplo n.º 4
0
    def test_with_valid_zone_from_json(self):
        Fake, FakeForm = self.factory()
        zone = GeoZoneFactory()

        fake = Fake()
        form = FakeForm.from_json({"spatial": {"zones": zone.id, "granularity": random_spatial_granularity()}})

        form.validate()
        self.assertEqual(form.errors, {})

        form.populate_obj(fake)

        self.assertEqual(len(fake.spatial.zones), 1)
        self.assertEqual(fake.spatial.zones[0], zone)
Ejemplo n.º 5
0
    def test_with_valid_zone(self):
        Fake, FakeForm = self.factory()
        zone = GeoZoneFactory()

        fake = Fake()
        form = FakeForm(MultiDict({"spatial-zones": zone.id, "spatial-granularity": random_spatial_granularity()}))

        form.validate()
        self.assertEqual(form.errors, {})

        form.populate_obj(fake)

        self.assertEqual(len(fake.spatial.zones), 1)
        self.assertEqual(fake.spatial.zones[0], zone)
Ejemplo n.º 6
0
    def test_with_zone_empty_string(self):
        Fake, FakeForm = self.factory()

        fake = Fake()
        form = FakeForm(
            MultiDict({
                'spatial-zones': '',
                'spatial-granularity': random_spatial_granularity()
            }))

        form.validate()
        self.assertEqual(form.errors, {})

        form.populate_obj(fake)

        self.assertEqual(len(fake.spatial.zones), 0)
Ejemplo n.º 7
0
    def test_with_valid_zone(self):
        Fake, FakeForm = self.factory()
        zone = GeoZoneFactory()

        fake = Fake()
        form = FakeForm(
            MultiDict({
                'spatial-zones': zone.id,
                'spatial-granularity': random_spatial_granularity()
            }))

        form.validate()
        self.assertEqual(form.errors, {})

        form.populate_obj(fake)

        self.assertEqual(len(fake.spatial.zones), 1)
        self.assertEqual(fake.spatial.zones[0], zone)
Ejemplo n.º 8
0
    def test_with_valid_zone_ids_from_json(self):
        Fake, FakeForm = self.factory()
        zones = [GeoZoneFactory() for _ in range(3)]

        fake = Fake()
        form = FakeForm.from_json(
            {"spatial": {"zones": ",".join([z.id for z in zones]), "granularity": random_spatial_granularity()}}
        )

        form.validate()
        self.assertEqual(form.errors, {})

        form.populate_obj(fake)

        self.assertEqual(len(fake.spatial.zones), len(zones))
        expected_zones = dict((z.id, z) for z in zones)
        for zone in fake.spatial.zones:
            self.assertIn(zone.id, expected_zones)
            self.assertEqual(zone, expected_zones[zone.id])
Ejemplo n.º 9
0
    def test_with_valid_zone_from_json(self):
        Fake, FakeForm = self.factory()
        zone = GeoZoneFactory()

        fake = Fake()
        form = FakeForm.from_json({
            'spatial': {
                'zones': zone.id,
                'granularity': random_spatial_granularity()
            }
        })

        form.validate()
        self.assertEqual(form.errors, {})

        form.populate_obj(fake)

        self.assertEqual(len(fake.spatial.zones), 1)
        self.assertEqual(fake.spatial.zones[0], zone)
Ejemplo n.º 10
0
    def test_with_valid_zone_ids(self):
        Fake, FakeForm = self.factory()
        zones = [GeoZoneFactory() for _ in range(3)]

        fake = Fake()
        form = FakeForm(
            MultiDict({
                'spatial-zones': ','.join([z.id for z in zones]),
                'spatial-granularity': random_spatial_granularity()
            }))

        form.validate()
        self.assertEqual(form.errors, {})

        form.populate_obj(fake)

        self.assertEqual(len(fake.spatial.zones), len(zones))
        expected_zones = dict((z.id, z) for z in zones)
        for zone in fake.spatial.zones:
            self.assertIn(zone.id, expected_zones)
            self.assertEqual(zone, expected_zones[zone.id])