def create_car(): user = User.get(User.username == auth.username()) required_fields = ('license_plate', 'latitude', 'longitude') validate_json_request(request, required_fields=required_fields) try: location = Location.create_from_string(request.json['latitude'], request.json['longitude']) except ValueError as e: raise BadApiRequest(str(e)) try: car = Car.create_with_user(user, request.json['license_plate'], location) except IntegrityError: raise BadApiRequest('Car already exists') except ValueError as e: raise BadApiRequest(str(e)) return json_response(model_to_dict(car, recurse=False))
def test_create_duplicate_plates(self, default_user, default_car, default_location): with pytest.raises(IntegrityError): Car.create_with_user(default_user, default_car.license_plate, default_location)
def test_create_invalid_plates(self, default_user, default_location): with pytest.raises(ValueError): Car.create_with_user(default_user, ' ', default_location)
def test_create(self, mutable_user, default_location): car = Car.create_with_user(mutable_user, 'TEST123', default_location) assert car.id is not None