- moved to use of YastModel
[opensuse:yast-web-client.git] / plugins / administrator / test / functional / administrator_controller_test.rb
1 require File.expand_path(File.dirname(__FILE__) + "/../test_helper")
2 require 'test/unit'
3 require File.expand_path( File.join("test","validation_assert"), RailsParent.parent )
4 require 'yast_mock'
5 require 'mocha'
6
7 class AdministratorControllerTest < ActionController::TestCase
8
9   def setup
10     AdministratorController.any_instance.stubs(:login_required)
11     @request = ActionController::TestRequest.new
12     response_admin= IO.read(File.join(File.dirname(__FILE__),"..","fixtures","empty.xml"))
13     ActiveResource::HttpMock.set_authentication
14     ActiveResource::HttpMock.respond_to do |mock|
15       header = ActiveResource::HttpMock.authentication_header
16       mock.resources  :"org.opensuse.yast.modules.yapi.administrator" => "/administrator"
17       mock.permissions "org.opensuse.yast.modules.yapi.administrator", { :read => true, :write => true }
18       mock.get   "/administrator.xml", header, response_admin, 200
19       mock.post  "/administrator.xml", header, response_admin, 200
20     end
21   end
22
23   def test_index
24     get :index
25     assert_response :success
26     assert_valid_markup
27     assert assigns(:administrator)
28   end
29
30   def test_commit_without_aliases
31     post :update, { :administrator => {:aliases => "", :password => "a", :confirm_password => "a" } }
32     assert_response :redirect
33     assert_redirected_to :controller => "controlpanel", :action => "index"
34   end
35
36   def test_passwords_do_not_match
37     post :update, { :administrator => {:aliases => "", :password => "a", :confirm_password => "b" } }
38     assert flash[:error]
39     assert_response :redirect
40     assert_redirected_to :controller => "administrator", :action => "index"
41   end
42
43 #  def test_commit_with_aliases FIXME fails on Basesystem.new.load_from_session...
44 #    post :update, { :administrator => {:aliases => "aa@bb.com", :password => "", :confirm_password => "" } }
45 #    assert_response :redirect
46 #    assert_redirected_to :controller => "controlpanel", :action => "index"
47 #  end
48
49   
50 end