diff options
| -rw-r--r-- | help/test/functional/tickets_controller_test.rb | 26 | ||||
| -rw-r--r-- | users/app/controllers/sessions_controller.rb | 1 | ||||
| -rw-r--r-- | users/app/controllers/v1/sessions_controller.rb | 1 | ||||
| -rw-r--r-- | users/test/functional/users_controller_test.rb | 14 | ||||
| -rw-r--r-- | users/test/integration/api/account_flow_test.rb | 8 | ||||
| -rw-r--r-- | users/test/support/auth_test_helper.rb | 3 | ||||
| -rw-r--r-- | users/test/support/stub_record_helper.rb | 4 | 
7 files changed, 43 insertions, 14 deletions
| diff --git a/help/test/functional/tickets_controller_test.rb b/help/test/functional/tickets_controller_test.rb index 592bd8c..b29fa17 100644 --- a/help/test/functional/tickets_controller_test.rb +++ b/help/test/functional/tickets_controller_test.rb @@ -118,7 +118,7 @@ class TicketsControllerTest < ActionController::TestCase      login User.last      ticket = Ticket.find('stubtestticketid') -    ticket.created_by = User.last.id # TODO: hacky, but confirms it is their ticket +    ticket.created_by = @current_user.id # TODO: hacky, but confirms it is their ticket      ticket.save      #they should be able to comment if it is their ticket: @@ -176,25 +176,33 @@ class TicketsControllerTest < ActionController::TestCase      login :is_admin? => true, :email => nil -    get :index, {:admin_status => "mine", :open_status => "open"} +    get :index, {:admin_status => "all", :open_status => "open"}      assert assigns(:all_tickets).count > 1 # at least 2 tickets      # if we close one ticket, the admin should have 1 less open ticket they admin      assert_difference('assigns[:all_tickets].count', -1) do        assigns(:tickets).first.close        assigns(:tickets).first.save -      get :index, {:admin_status => "mine", :open_status => "open"} +      get :index, {:admin_status => "all", :open_status => "open"}      end +  end + +  test "admin_status mine vs all" do      testticket = Ticket.create :title => 'temp testytest' +    login :is_admin? => true, :email => nil -    # test admin_status 'mine' vs 'all'      get :index, {:admin_status => "all", :open_status => "open"}      assert assigns(:all_tickets).include?(testticket)      get :index, {:admin_status => "mine", :open_status => "open"}      assert !assigns(:all_tickets).include?(testticket) +  end -    # admin should have one more ticket if a new tick gets an admin comment +  test "commenting on a ticket adds to tickets that are mine" do +    testticket = Ticket.create :title => 'temp testytest' +    login :is_admin? => true, :email => nil + +    get :index, {:admin_status => "mine", :open_status => "open"}      assert_difference('assigns[:all_tickets].count') do        put :update, :id => testticket.id, :ticket => {:comments_attributes => {"0" => {"body" =>"NEWER comment"}}}        get :index, {:admin_status => "mine", :open_status => "open"} @@ -205,10 +213,12 @@ class TicketsControllerTest < ActionController::TestCase      assert_equal assigns(:ticket).comments.last.posted_by, @current_user.id      assigns(:ticket).destroy +  end -    # test ordering +  test "admin ticket ordering" do -    get :index, {:admin_status => "mine", :open_status => "open", :sort_order => 'created_at_desc'} +    login :is_admin? => true, :email => nil +    get :index, {:admin_status => "all", :open_status => "open", :sort_order => 'created_at_desc'}      # this will consider all tickets, not just those on first page      first_tick = assigns(:all_tickets).all.first @@ -216,7 +226,7 @@ class TicketsControllerTest < ActionController::TestCase      assert first_tick.created_at > last_tick.created_at      # and now reverse order: -    get :index, {:admin_status => "mine", :open_status => "open", :sort_order => 'created_at_asc'} +    get :index, {:admin_status => "all", :open_status => "open", :sort_order => 'created_at_asc'}      assert_equal first_tick, assigns(:all_tickets).last      assert_equal last_tick, assigns(:all_tickets).first diff --git a/users/app/controllers/sessions_controller.rb b/users/app/controllers/sessions_controller.rb index bc910b5..0345fbd 100644 --- a/users/app/controllers/sessions_controller.rb +++ b/users/app/controllers/sessions_controller.rb @@ -11,6 +11,7 @@ class SessionsController < ApplicationController    end    def create +    logout if logged_in?      authenticate!    end diff --git a/users/app/controllers/v1/sessions_controller.rb b/users/app/controllers/v1/sessions_controller.rb index 5b4a13b..27d10fb 100644 --- a/users/app/controllers/v1/sessions_controller.rb +++ b/users/app/controllers/v1/sessions_controller.rb @@ -12,6 +12,7 @@ module V1      end      def create +      logout if logged_in?        authenticate!      end diff --git a/users/test/functional/users_controller_test.rb b/users/test/functional/users_controller_test.rb index 1840a72..ce17500 100644 --- a/users/test/functional/users_controller_test.rb +++ b/users/test/functional/users_controller_test.rb @@ -1,7 +1,6 @@  require 'test_helper'  class UsersControllerTest < ActionController::TestCase -  include StubRecordHelper    test "should get new" do      get :new @@ -35,7 +34,10 @@ class UsersControllerTest < ActionController::TestCase    end    test "should get edit view" do -    user = find_record User, :email => nil, :email_forward => nil +    user = find_record User, +      :email => nil, +      :email_forward => nil, +      :email_aliases => []      login user      get :edit, :id => user.id @@ -45,7 +47,9 @@ class UsersControllerTest < ActionController::TestCase    test "should process updated params" do      user = find_record User -    user.expects(:update_attributes).with(user.params).returns(true) +    user.expects(:attributes=).with(user.params) +    user.expects(:changed?).returns(true) +    user.expects(:save).returns(true)      login user      put :update, :user => user.params, :id => user.id, :format => :json @@ -57,7 +61,9 @@ class UsersControllerTest < ActionController::TestCase    test "admin can update user" do      user = find_record User -    user.expects(:update_attributes).with(user.params).returns(true) +    user.expects(:attributes=).with(user.params) +    user.expects(:changed?).returns(true) +    user.expects(:save).returns(true)      login :is_admin? => true      put :update, :user => user.params, :id => user.id, :format => :json diff --git a/users/test/integration/api/account_flow_test.rb b/users/test/integration/api/account_flow_test.rb index e425c35..7636f2b 100644 --- a/users/test/integration/api/account_flow_test.rb +++ b/users/test/integration/api/account_flow_test.rb @@ -62,6 +62,14 @@ class AccountFlowTest < ActiveSupport::TestCase      assert server_auth["M2"]    end +  test "duplicate login does not break things" do +    server_auth = @srp.authenticate(self) +    server_auth = @srp.authenticate(self) +    assert last_response.successful? +    assert_nil server_auth["errors"] +    assert server_auth["M2"] +  end +    test "signup and wrong password login attempt" do      srp = SRP::Client.new(@login, "wrong password")      server_auth = srp.authenticate(self) diff --git a/users/test/support/auth_test_helper.rb b/users/test/support/auth_test_helper.rb index 6a82f24..c9f5612 100644 --- a/users/test/support/auth_test_helper.rb +++ b/users/test/support/auth_test_helper.rb @@ -1,5 +1,4 @@  module AuthTestHelper -  include StubRecordHelper    extend ActiveSupport::Concern    # Controller will fetch current user from warden. @@ -24,7 +23,7 @@ module AuthTestHelper        assert_equal({:alert => "Not authorized"}, flash.to_hash)        # todo: eventually probably eliminate separate conditions        assert_redirected_to login_path if !logged_in -      assert_redirected_to root_path if logged_in  +      assert_redirected_to root_path if logged_in      else        assert flash[:alert].blank?      end diff --git a/users/test/support/stub_record_helper.rb b/users/test/support/stub_record_helper.rb index 2e1a533..1be419a 100644 --- a/users/test/support/stub_record_helper.rb +++ b/users/test/support/stub_record_helper.rb @@ -39,3 +39,7 @@ module StubRecordHelper    end  end + +class ActionController::TestCase +  include StubRecordHelper +end | 
