Skip to content

Commit 8519e59

Browse files
committed
feat: add status predicate helpers to AddressVerification
Add is_pending, is_approved, and is_rejected property helpers that compare against the AddressVerificationStatus enum, matching the Ruby SDK pattern.
1 parent 12895c2 commit 8519e59

2 files changed

Lines changed: 36 additions & 0 deletions

File tree

src/didww/resources/address_verification.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,18 @@ class AddressVerification(DidwwApiModel):
2121
class Meta:
2222
type = "address_verifications"
2323

24+
@property
25+
def is_pending(self):
26+
return self.status == AddressVerificationStatus.PENDING
27+
28+
@property
29+
def is_approved(self):
30+
return self.status == AddressVerificationStatus.APPROVED
31+
32+
@property
33+
def is_rejected(self):
34+
return self.status == AddressVerificationStatus.REJECTED
35+
2436

2537
class AddressVerificationRepository(Repository):
2638
_resource_class = AddressVerification

tests/resources/test_address_verification.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,30 @@ def test_create_address_verification(self, client):
9999
assert created.address is not None
100100
assert created.address.city_name == "Chicago"
101101

102+
class TestAddressVerificationStatusHelpers:
103+
def test_is_pending(self):
104+
av = AddressVerification()
105+
av.status = AddressVerificationStatus.PENDING
106+
assert av.is_pending is True
107+
assert av.is_approved is False
108+
assert av.is_rejected is False
109+
110+
def test_is_approved(self):
111+
av = AddressVerification()
112+
av.status = AddressVerificationStatus.APPROVED
113+
assert av.is_approved is True
114+
assert av.is_pending is False
115+
assert av.is_rejected is False
116+
117+
def test_is_rejected(self):
118+
av = AddressVerification()
119+
av.status = AddressVerificationStatus.REJECTED
120+
assert av.is_rejected is True
121+
assert av.is_pending is False
122+
assert av.is_approved is False
123+
124+
125+
class TestAddressVerificationUpdate:
102126
@my_vcr.use_cassette("address_verifications/update.yaml")
103127
def test_update_address_verification_external_reference_id(self, client):
104128
av = AddressVerification()

0 commit comments

Comments
 (0)