Skip to content

Commit

Permalink
Merge pull request #805 from aviav/add-membership-button-first-specs
Browse files Browse the repository at this point in the history
Basic tests for UsersTab add user button
  • Loading branch information
tf authored Aug 15, 2017
2 parents 3d34806 + 6f54458 commit 154b9d5
Showing 1 changed file with 79 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
require 'spec_helper'

module Pageflow
module Admin
describe AddMembershipButtonIfNeeded, type: :view_component do
before do
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

it 'renders add user button when account available' do
account = create(:account)
user_account = create(:account)
create(:user, :member, on: user_account)
account_manager = create(:user, :manager, on: account)
create(:membership,
user: account_manager,
entity: user_account,
role: :manager)
sign_in(account_manager)

render do
add_membership_button_if_needed(account_manager, account, 'account')
end

expect(rendered).to have_selector('a', text: 'Add user')
expect(rendered).to_not have_selector('a', class: 'disabled')
end

it 'renders disabled add user button when account unavailable' do
account = create(:account)
create(:user, :member, on: account)
account_manager = create(:user, :manager, on: account)
sign_in(account_manager)

render do
add_membership_button_if_needed(account_manager, account, 'account')
end

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

0 comments on commit 154b9d5

Please sign in to comment.