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)
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)
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)