diff --git a/squeaknode/admin/messages.py b/squeaknode/admin/messages.py index 177ece01..1178311e 100644 --- a/squeaknode/admin/messages.py +++ b/squeaknode/admin/messages.py @@ -140,10 +140,9 @@ def squeak_to_detail_message(squeak: CSqueak) -> squeak_admin_pb2.SqueakDetailEn def sent_offer_to_message(sent_offer: SentOffer) -> squeak_admin_pb2.SentOffer: - if sent_offer.sent_offer_id is None: - raise Exception("Sent offer id cannot be None.") + sent_offer_id = sent_offer.sent_offer_id or 0 return squeak_admin_pb2.SentOffer( - sent_offer_id=sent_offer.sent_offer_id, + sent_offer_id=sent_offer_id, squeak_hash=sent_offer.squeak_hash.hex(), payment_hash=sent_offer.payment_hash.hex(), price_msat=sent_offer.price_msat, diff --git a/tests/admin/conftest.py b/tests/admin/conftest.py index 4a15380a..a5363454 100644 --- a/tests/admin/conftest.py +++ b/tests/admin/conftest.py @@ -101,6 +101,20 @@ def peer_msg( ) +@pytest.fixture +def sent_offer_msg( + squeak_hash, + payment_hash, + price_msat, +): + return squeak_admin_pb2.SentOffer( + sent_offer_id=None, + squeak_hash=squeak_hash.hex(), + payment_hash=payment_hash.hex(), + price_msat=price_msat, + ) + + @pytest.fixture def received_offer_msg( squeak_hash, @@ -112,7 +126,7 @@ def received_offer_msg( lightning_address, peer_address_message, ): - return squeak_admin_pb2.OfferDisplayEntry( + yield squeak_admin_pb2.OfferDisplayEntry( offer_id=None, squeak_hash=squeak_hash.hex(), price_msat=price_msat, diff --git a/tests/admin/test_messages.py b/tests/admin/test_messages.py index 24f04be7..d63ec03a 100644 --- a/tests/admin/test_messages.py +++ b/tests/admin/test_messages.py @@ -22,6 +22,7 @@ from squeaknode.admin.messages import message_to_peer_address from squeaknode.admin.messages import peer_address_to_message from squeaknode.admin.messages import received_offer_to_message +from squeaknode.admin.messages import sent_offer_to_message from squeaknode.admin.messages import squeak_entry_to_message from squeaknode.admin.messages import squeak_peer_to_message from squeaknode.admin.messages import squeak_profile_to_message @@ -57,6 +58,12 @@ def test_peer_to_message(peer, peer_msg): assert msg == peer_msg +def test_sent_offer_to_message(sent_offer, sent_offer_msg): + msg = sent_offer_to_message(sent_offer) + + assert msg == sent_offer_msg + + def test_received_offer_to_message(received_offer, received_offer_msg): msg = received_offer_to_message(received_offer)