48 lines
1.3 KiB
Ruby
48 lines
1.3 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe "Profile account page" do
|
|
let(:user) { create(:user) }
|
|
|
|
before do
|
|
login_as :user
|
|
end
|
|
|
|
describe "when signup is enabled" do
|
|
before do
|
|
Gitlab.config.gitlab.stub(:signup_enabled).and_return(true)
|
|
visit account_profile_path
|
|
end
|
|
it { page.should have_content("Remove account") }
|
|
|
|
it "should delete the account", js: true do
|
|
expect { click_link "Delete account" }.to change {User.count}.by(-1)
|
|
current_path.should == new_user_session_path
|
|
end
|
|
end
|
|
|
|
describe "when signup is enabled and user has a project" do
|
|
before do
|
|
Gitlab.config.gitlab.stub(:signup_enabled).and_return(true)
|
|
@project = create(:project, namespace: @user.namespace)
|
|
@project.team << [@user, :master]
|
|
visit account_profile_path
|
|
end
|
|
it { page.should have_content("Remove account") }
|
|
|
|
it "should not allow user to delete the account" do
|
|
expect { click_link "Delete account" }.not_to change {User.count}.by(-1)
|
|
end
|
|
end
|
|
|
|
describe "when signup is disabled" do
|
|
before do
|
|
Gitlab.config.gitlab.stub(:signup_enabled).and_return(false)
|
|
visit account_profile_path
|
|
end
|
|
|
|
it "should not have option to remove account" do
|
|
page.should_not have_content("Remove account")
|
|
current_path.should == account_profile_path
|
|
end
|
|
end
|
|
end |