@@ -1083,6 +1083,21 @@ fn generate_bip21_uri() {
1083
1083
let address_a = node_a. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
1084
1084
let premined_sats = 5_000_000 ;
1085
1085
1086
+ let expected_amount_sats = 100_000 ;
1087
+ let expiry_sec = 4_000 ;
1088
+
1089
+ // Test 1: Verify URI generation (on-chain + BOLT11) works
1090
+ // even before any channels are opened. This checks the graceful fallback behavior.
1091
+ let initial_uqr_payment = node_b
1092
+ . unified_qr_payment ( )
1093
+ . receive ( expected_amount_sats, "asdf" , expiry_sec)
1094
+ . expect ( "Failed to generate URI" ) ;
1095
+ println ! ( "Initial URI (no channels): {}" , initial_uqr_payment) ;
1096
+
1097
+ assert ! ( initial_uqr_payment. contains( "bitcoin:" ) ) ;
1098
+ assert ! ( initial_uqr_payment. contains( "lightning=" ) ) ;
1099
+ assert ! ( !initial_uqr_payment. contains( "lno=" ) ) ; // BOLT12 requires channels
1100
+
1086
1101
premine_and_distribute_funds (
1087
1102
& bitcoind. client ,
1088
1103
& electrsd. client ,
@@ -1100,20 +1115,16 @@ fn generate_bip21_uri() {
1100
1115
expect_channel_ready_event ! ( node_a, node_b. node_id( ) ) ;
1101
1116
expect_channel_ready_event ! ( node_b, node_a. node_id( ) ) ;
1102
1117
1103
- let expected_amount_sats = 100_000 ;
1104
- let expiry_sec = 4_000 ;
1105
-
1106
- let uqr_payment = node_b. unified_qr_payment ( ) . receive ( expected_amount_sats, "asdf" , expiry_sec) ;
1118
+ // Test 2: Verify URI generation (on-chain + BOLT11 + BOLT12) works after channels are established.
1119
+ let uqr_payment = node_b
1120
+ . unified_qr_payment ( )
1121
+ . receive ( expected_amount_sats, "asdf" , expiry_sec)
1122
+ . expect ( "Failed to generate URI" ) ;
1107
1123
1108
- match uqr_payment. clone ( ) {
1109
- Ok ( ref uri) => {
1110
- println ! ( "Generated URI: {}" , uri) ;
1111
- assert ! ( uri. contains( "bitcoin:" ) ) ;
1112
- assert ! ( uri. contains( "lightning=" ) ) ;
1113
- assert ! ( uri. contains( "lno=" ) ) ;
1114
- } ,
1115
- Err ( e) => panic ! ( "Failed to generate URI: {:?}" , e) ,
1116
- }
1124
+ println ! ( "Generated URI: {}" , uqr_payment) ;
1125
+ assert ! ( uqr_payment. contains( "bitcoin:" ) ) ;
1126
+ assert ! ( uqr_payment. contains( "lightning=" ) ) ;
1127
+ assert ! ( uqr_payment. contains( "lno=" ) ) ;
1117
1128
}
1118
1129
1119
1130
#[ test]
0 commit comments