diff --git a/lib/parent_code_repo.rb b/lib/parent_code_repo.rb index cb5c0702b7c22c3cfb333abbb45ef58019630fc2..a8f614c5e1ae8102eb4cd7f1741ed07af7d2925f 100644 --- a/lib/parent_code_repo.rb +++ b/lib/parent_code_repo.rb @@ -9,7 +9,12 @@ class ParentCodeRepo end def find(code) - @redis.hget("jmp_parent_codes", code) + @redis.hget("jmp_parent_codes", code).then do |parent_id| + (parent_id ? @redis.get("jmp_customer_trust_level-#{parent_id}") : nil) + .then do |tl| + tl == "Tomb" ? nil : parent_id + end + end end def find_or_create(customer_id) diff --git a/test/test_registration.rb b/test/test_registration.rb index 7d1a3962e2df347f58dce42213d3979e757291d5..cc78ce4f211db805cdd3ac413edbf59e31391d10 100644 --- a/test/test_registration.rb +++ b/test/test_registration.rb @@ -794,6 +794,11 @@ class RegistrationTest < Minitest::Test EMPromise.resolve("parent_customer"), ["jmp_parent_codes", "pabc"] ) + Registration::Payment::InviteCode::REDIS.expect( + :get, + EMPromise.resolve(nil), + ["jmp_customer_trust_level-parent_customer"] + ) CustomerPlan::DB.expect( :query, [{ "plan_name" => "test_usd" }],