]> source.dussan.org Git - redmine.git/commitdiff
Adds a UI test (#19851).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Fri, 19 Jun 2015 20:42:33 +0000 (20:42 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Fri, 19 Jun 2015 20:42:33 +0000 (20:42 +0000)
git-svn-id: http://svn.redmine.org/redmine/trunk@14345 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/views/sudo_mode/new.html.erb
test/integration/sudo_mode_test.rb
test/ui/sudo_mode_test_ui.rb [new file with mode: 0644]

index daf63c9324169e6b587b8a9a5b69e8f31250527c..86a4f74f783e852b7436e7a574b60b69fdbcfbe8 100644 (file)
@@ -1,5 +1,5 @@
 <h2><%= l :label_password_required %></h2>
-<%= form_tag({}, class: 'tabular') do %>
+<%= form_tag({}, class: 'tabular', id: 'sudo-form') do %>
 
   <%= hidden_field_tag '_method', request.request_method %>
   <%= hash_to_hidden_fields @sudo_form.original_fields %>
index f535d9a9569b89a8bffafa102e74ea2fb0534e80..e921263860072ed2c03952e8b3d2c47ab9f760c2 100644 (file)
@@ -1,7 +1,7 @@
 require File.expand_path('../../test_helper', __FILE__)
 
-class SudoTest < Redmine::IntegrationTest
-  fixtures :projects, :members, :member_roles, :roles, :users
+class SudoModeTest < Redmine::IntegrationTest
+  fixtures :projects, :members, :member_roles, :roles, :users, :email_addresses
 
   def setup
     Redmine::SudoMode.stubs(:enabled?).returns(true)
diff --git a/test/ui/sudo_mode_test_ui.rb b/test/ui/sudo_mode_test_ui.rb
new file mode 100644 (file)
index 0000000..2fbaa31
--- /dev/null
@@ -0,0 +1,53 @@
+# Redmine - project management software
+# Copyright (C) 2006-2015  Jean-Philippe Lang
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+require File.expand_path('../base', __FILE__)
+
+class Redmine::UiTest::SudoModeTest < Redmine::UiTest::Base
+  fixtures :users, :email_addresses
+
+  def setup
+    Redmine::SudoMode.stubs(:enabled?).returns(true)
+  end
+
+  def test_add_user
+    log_user('admin', 'admin')
+    visit '/users/new'
+
+    assert_difference 'User.count' do
+      within('form#new_user') do
+        fill_in 'Login', :with => 'johnpaul'
+        fill_in 'First name', :with => 'John'
+        fill_in 'Last name', :with => 'Paul'
+        fill_in 'Email', :with => 'john@example.net'
+        fill_in 'Password', :with => 'password'
+        fill_in 'Confirmation', :with => 'password'
+        # click_button 'Create' would match both 'Create' and 'Create and continue' buttons
+        find('input[name=commit]').click
+      end
+
+      assert_equal '/users', current_path
+      assert page.has_content?("Confirm your password to continue")
+      assert page.has_css?('form#sudo-form')
+
+      within('form#sudo-form') do
+        fill_in 'Password', :with => 'admin'
+        click_button 'Submit'
+      end
+    end
+  end
+end