ab-ms-core / tests /unit /test_address_service.py
MukeshKapoor25's picture
feat: Add address management with CRUD operations and integrate into the application
1e41209
import pytest
from app.services.address_service import AddressService
from app.core.exceptions import NotFoundException
def test_service_create_get_update_delete(db_session):
service = AddressService(db_session)
data = {
"customer_id": 2,
"address": "50 Service Rd",
"city": "Servetown",
"state_id": 7,
"postal_code": "55555"
}
# Create
created = service.create(data)
assert created is not None
assert created.id is not None
assert created.customer_id == 2
# Get
fetched = service.get(created.id)
assert fetched.id == created.id
assert fetched.address == "50 Service Rd"
# Update
update_data = {"address": "51 Service Rd", "city": "Newtown"}
updated = service.update(created.id, update_data)
assert updated.address == "51 Service Rd"
assert updated.city == "Newtown"
# Delete
service.delete(created.id)
# After delete, get should raise NotFoundException
with pytest.raises(NotFoundException):
service.get(created.id)