@@ -795,6 +795,31 @@ def test_bookkeeping_descriptions(node_factory, bitcoind, chainparams):
795795 assert l2_koinly_csv .find (bolt11_exp ) >= 0
796796 assert l2_koinly_csv .find (bolt12_exp ) >= 0
797797
798+ # Test that we can update the description, payment id
799+ edited_desc_payid = 'edited payment_id description'
800+ for node in [l1 , l2 ]:
801+ results = node .rpc .bkpr_editdescriptionbypaymentid (paid ['payment_hash' ], edited_desc_payid )
802+ assert only_one (results ['updated' ])['description' ] == edited_desc_payid
803+
804+ # Test that we can update the description, outpoint
805+ edited_desc_outpoint = 'edited outpoint description'
806+ deposits = [ev for ev in l1_inc_ev if ev ['tag' ] == 'deposit' ]
807+ assert len (deposits ) > 0
808+ results = l1 .rpc .bkpr_editdescriptionbyoutpoint (deposits [0 ]['outpoint' ], edited_desc_outpoint )
809+ assert only_one (results ['updated' ])['description' ] == edited_desc_outpoint
810+
811+ # Test that input that doesn't match an event returns empty list
812+ fake_outpoint = '01' * 32 + ':100'
813+ results = l1 .rpc .bkpr_editdescriptionbyoutpoint (fake_outpoint , edited_desc_outpoint )
814+ assert len (results ['updated' ]) == 0
815+
816+ # Make sure that only one event actually updated
817+ acct_evs = l1 .rpc .bkpr_listaccountevents ()['events' ]
818+ income_evs = l1 .rpc .bkpr_listincome ()['income_events' ]
819+ for evs in [acct_evs , income_evs ]:
820+ assert only_one ([ev for ev in evs if 'description' in ev and ev ['description' ] == edited_desc_payid ])
821+ assert only_one ([ev for ev in evs if 'description' in ev and ev ['description' ] == edited_desc_outpoint ])
822+
798823
799824def test_empty_node (node_factory , bitcoind ):
800825 """
0 commit comments