Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorMarin Jankovski <maxlazio@gmail.com>2013-02-11 16:06:37 +0400
committerMarin Jankovski <maxlazio@gmail.com>2013-02-11 16:06:37 +0400
commitf339af858b25cc32ac1bc0c46add29a6a3f43b51 (patch)
tree85af3a0b47bf868ede69097e88828efef1c997e6 /spec
parent1b4ba3eb99e30bded9bffea20c457af5e08a58f2 (diff)
Test the delete acount option.
Diffstat (limited to 'spec')
-rw-r--r--spec/requests/profile_spec.rb48
1 files changed, 48 insertions, 0 deletions
diff --git a/spec/requests/profile_spec.rb b/spec/requests/profile_spec.rb
new file mode 100644
index 00000000000..c18d8f921a3
--- /dev/null
+++ b/spec/requests/profile_spec.rb
@@ -0,0 +1,48 @@
+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 \ No newline at end of file