city model with test