diff --git a/app/jobs/create_lndhub_wallet_job.rb b/app/jobs/create_lndhub_wallet_job.rb index 74afeaa..30b4778 100644 --- a/app/jobs/create_lndhub_wallet_job.rb +++ b/app/jobs/create_lndhub_wallet_job.rb @@ -2,6 +2,8 @@ class CreateLndhubWalletJob < ApplicationJob queue_as :default def perform(user) + return if user.ln_login.present? && user.ln_password.present? + lndhub = Lndhub.new credentials = lndhub.create({ partnerid: user.ou, accounttype: "user" }) diff --git a/spec/jobs/create_lndhub_wallet_job_spec.rb b/spec/jobs/create_lndhub_wallet_job_spec.rb index e11ab2c..754cf71 100644 --- a/spec/jobs/create_lndhub_wallet_job_spec.rb +++ b/spec/jobs/create_lndhub_wallet_job_spec.rb @@ -23,6 +23,24 @@ RSpec.describe CreateLndhubWalletJob, type: :job do expect(user.ln_password).to eq("def456") end + context "with existing credentials stored" do + before do + user.ln_login = "foo" + user.ln_password = "bar" + user.save! + end + + it "does not create a new LndHub account" do + perform_enqueued_jobs { job } + + expect(WebMock).to_not have_requested(:post, "http://10.1.1.163:3023/create") + + user.reload + expect(user.ln_login).to eq("foo") + expect(user.ln_password).to eq("bar") + end + end + after do clear_enqueued_jobs clear_performed_jobs