Skip to content

Commit

Permalink
Fixing banks re-send invite of partner
Browse files Browse the repository at this point in the history
  • Loading branch information
cielf authored and Daniel Orner committed Feb 3, 2023
1 parent 3b7b9b2 commit 8081041
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 9 deletions.
21 changes: 16 additions & 5 deletions app/services/user_invite_service.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,22 @@ module UserInviteService
def self.invite(email:, resource:, name: nil, roles: [])
raise "Resource not found!" if resource.nil?

User.invite!(email: email) do |user|
user.name = name if name
roles.each do |role|
user.add_role(role, resource)
end
user = User.find_by(email: email)
if user
user.invite!
add_roles(user, resource: resource, roles: roles)
return user
end

User.invite!(email: email) do |user1|
user1.name = name if name # Does this get persisted somewhere up the line? - CLF 20230203
add_roles(user1, resource: resource, roles: roles)
end
end

def self.add_roles(user, resource:, roles: [])
roles.each do |role|
user.add_role(role, resource)
end
end
end
5 changes: 1 addition & 4 deletions spec/services/user_invite_service_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,7 @@
User.create!(name: "Some Name", email: "email@email.com", password: "blahblah!")
end
it "should invite the existing user" do
allow(User).to receive(:invite!).and_call_original
result = described_class.invite(email: "email@email.com", resource: @organization)
expect(result.id).to eq(user.id)
expect(User).to have_received(:invite!)
expect { described_class.invite(email: "email@email.com", resource: @organization) }.to change { ActionMailer::Base.deliveries.count }.by(1)
end

it "should add roles to existing user" do
Expand Down

0 comments on commit 8081041

Please sign in to comment.