diff --git a/spec/views/components/pageflow/admin/add_membership_button_if_needed_spec.rb b/spec/views/components/pageflow/admin/add_membership_button_if_needed_spec.rb index ee616b3418..e02a128abc 100644 --- a/spec/views/components/pageflow/admin/add_membership_button_if_needed_spec.rb +++ b/spec/views/components/pageflow/admin/add_membership_button_if_needed_spec.rb @@ -7,6 +7,7 @@ module Admin helper.extend(ActiveAdmin::ViewHelpers) helper.extend(Pageflow::Admin::MembershipsHelper) allow(helper).to receive(:new_admin_account_membership_path) + allow(helper).to receive(:new_admin_user_membership_path) allow(helper).to receive(:url_for) end @@ -41,6 +42,38 @@ module Admin expect(rendered).to have_selector('a', class: 'disabled') end + + it 'renders add account button when account available' do + first_account = create(:account) + user = create(:user, :member, on: first_account) + second_account = create(:account) + account_manager = create(:user, :manager, on: first_account) + create(:membership, + user: account_manager, + entity: second_account, + role: 'manager') + sign_in(account_manager) + + render do + add_membership_button_if_needed(user, user, 'account') + end + + expect(rendered).to have_selector('a', text: 'Add Account') + expect(rendered).to_not have_selector('a', class: 'disabled') + end + + it 'renders disabled add account button when account unavailable' do + first_account = create(:account) + user = create(:user, :member, on: first_account) + account_manager = create(:user, :manager, on: first_account) + sign_in(account_manager) + + render do + add_membership_button_if_needed(user, user, 'account') + end + + expect(rendered).to have_selector('a', class: 'disabled') + end end end end