Example #1
0
def test_field_location(nrm):
    class MyModel(Model):
        field = Location()

        class Meta:
            engine = nrm

    obj = MyModel(field=datamodel.Location(-103.3590, 20.7240)).save()

    assert nrm.redis.type('my_model:geo_field') == b'zset'
    assert MyModel.get(obj.id).field == datamodel.Location(-103.3590, 20.7240)
Example #2
0
def test_field_position_delete():
    c1 = Truck(last_position=datamodel.Location(-90, 21)).save()
    c2 = Truck(last_position=datamodel.Location(-90, 22)).save()

    assert Truck.get(c1.id).last_position == datamodel.Location(-90, 21)
    assert Truck.get(c2.id).last_position == datamodel.Location(-90, 22)

    c1.delete()

    assert Truck.get(c1.id) is None

    assert Truck.get(c2.id).last_position == datamodel.Location(-90, 22)
Example #3
0
def test_field_location_validate(nrm):
    class MyModel(Model):
        field = Location()

        class Meta:
            engine = nrm

    item = MyModel.validate(field='-100,20').save()
    assert item.field == datamodel.Location(-100, 20)

    item_rec = MyModel.get(item.id)
    assert item_rec.field == datamodel.Location(-100, 20)