fix(testkit): macOS compat + fix test 8c ordering (#24)
This commit is contained in:
@@ -1,4 +1,7 @@
|
||||
import { randomBytes } from "crypto";
|
||||
import { makeLogger } from "./logger.js";
|
||||
|
||||
const logger = makeLogger("lnbits");
|
||||
|
||||
export interface LNbitsInvoice {
|
||||
paymentHash: string;
|
||||
@@ -22,7 +25,7 @@ export class LNbitsService {
|
||||
this.apiKey = config?.apiKey ?? process.env.LNBITS_API_KEY ?? "";
|
||||
this.stubMode = !this.url || !this.apiKey;
|
||||
if (this.stubMode) {
|
||||
console.warn("[LNbitsService] No LNBITS_URL/LNBITS_API_KEY — running in STUB mode. Invoices are simulated.");
|
||||
logger.warn("no LNBITS_URL/LNBITS_API_KEY — running in STUB mode", { stub: true });
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,7 +35,7 @@ export class LNbitsService {
|
||||
if (this.stubMode) {
|
||||
const paymentHash = randomBytes(32).toString("hex");
|
||||
const paymentRequest = `lnbcrt${amountSats}u1stub_${paymentHash.slice(0, 16)}`;
|
||||
console.log(`[stub] Created invoice: ${amountSats} sats — "${memo}" — hash=${paymentHash}`);
|
||||
logger.info("stub invoice created", { amountSats, memo, paymentHash });
|
||||
return { paymentHash, paymentRequest };
|
||||
}
|
||||
|
||||
@@ -113,7 +116,7 @@ export class LNbitsService {
|
||||
async payInvoice(bolt11: string): Promise<string> {
|
||||
if (this.stubMode) {
|
||||
const paymentHash = randomBytes(32).toString("hex");
|
||||
console.log(`[stub] Paid outgoing invoice — fake hash=${paymentHash}`);
|
||||
logger.info("stub outgoing payment", { paymentHash, invoiceType: "outbound" });
|
||||
return paymentHash;
|
||||
}
|
||||
|
||||
@@ -140,7 +143,7 @@ export class LNbitsService {
|
||||
throw new Error("stubMarkPaid called on a real LNbitsService instance");
|
||||
}
|
||||
stubPaidInvoices.add(paymentHash);
|
||||
console.log(`[stub] Marked invoice paid: hash=${paymentHash}`);
|
||||
logger.info("stub invoice marked paid", { paymentHash, invoiceType: "inbound" });
|
||||
}
|
||||
|
||||
// ── Private helpers ──────────────────────────────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user