From f339af858b25cc32ac1bc0c46add29a6a3f43b51 Mon Sep 17 00:00:00 2001
From: Marin Jankovski <maxlazio@gmail.com>
Date: Mon, 11 Feb 2013 13:06:37 +0100
Subject: [PATCH] Test the delete acount option.

---
 spec/requests/profile_spec.rb | 48 +++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)
 create mode 100644 spec/requests/profile_spec.rb

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
-- 
2.30.9