def put(self, address_id): json = request.get_json() try: address = (Address.select().where( Address.uuid == address_id).where( Address.user == g.current_user).get()) except Address.DoesNotExist: return None, NOT_FOUND try: Address.verify_json(json) except ValidationError as err: return {"message": err.message}, BAD_REQUEST if address.user.uuid == g.current_user.uuid: address.nation = json['nation'] address.city = json['city'] address.postal_code = json['postal_code'] address.local_address = json['local_address'] address.phone = json['phone'] address.save() return address.json(), CREATED else: return '', BAD_REQUEST
def test_validate_address_json__success(self): data = { 'user': str(uuid.uuid4()), 'nation': 'Italia', 'city': 'Prato', 'postal_code': '59100', 'local_address': 'Via Roncioni 10', 'phone': '0574100100', } Address.verify_json(data)
def test_validate_address_json__failure_missing_field(self): data = { 'user': str(uuid.uuid4()), 'nation': 'Italia', 'postal_code': '59100', 'local_address': 'Via Roncioni 10', 'phone': '0574100100', } with pytest.raises(ValidationError): Address.verify_json(data)
def post(self): json = request.get_json() try: Address.verify_json(json) except ValidationError as err: return {"message": err.message}, BAD_REQUEST address = Address.create( uuid=uuid.uuid4(), user=g.current_user, nation=json['nation'], city=json['city'], postal_code=json['postal_code'], local_address=json['local_address'], phone=json['phone'], ) return address.json(), CREATED