diff options
Diffstat (limited to 'help')
-rw-r--r-- | help/app/models/ticket_comment.rb | 8 | ||||
-rw-r--r-- | help/test/functional/tickets_controller_test.rb | 42 |
2 files changed, 23 insertions, 27 deletions
diff --git a/help/app/models/ticket_comment.rb b/help/app/models/ticket_comment.rb index 13bea2b..bed5237 100644 --- a/help/app/models/ticket_comment.rb +++ b/help/app/models/ticket_comment.rb @@ -1,5 +1,5 @@ class TicketComment - include CouchRest::Model::Embeddable + include CouchRest::Model::Embeddable #belongs_to :ticket #is this best way to do it? will want to access all of a tickets comments, so maybe this isn't the way? property :posted_by, String#, :protected => true #Integer#this should be current_user if that is set, meaning the user is logged in #cannot have it be protected and set via comments_attributes=. also, if it is protected and we set in the tickets_controller, it gets unset. TODO---is this okay to have it not protected and manually check it? We do not users to be able to set this. @@ -23,17 +23,17 @@ class TicketComment end def posted_by_user - User.find(self.posted_by) + User.find(posted_by) if posted_by end =begin - #TODO. + #TODO. #this is resetting all comments associated with the ticket: def set_time self.posted_at = Time.now end =end - + =begin def set_posted_by self.posted_by = User.current if User.current diff --git a/help/test/functional/tickets_controller_test.rb b/help/test/functional/tickets_controller_test.rb index 6479ba4..3747ad0 100644 --- a/help/test/functional/tickets_controller_test.rb +++ b/help/test/functional/tickets_controller_test.rb @@ -2,16 +2,6 @@ require 'test_helper' class TicketsControllerTest < ActionController::TestCase - setup do - @user = FactoryGirl.create :user - @other_user = FactoryGirl.create :user - end - - teardown do - @user.destroy - @other_user.destroy - end - test "should get index if logged in" do login get :index @@ -38,22 +28,25 @@ class TicketsControllerTest < ActionController::TestCase end test "user tickets are not visible without login" do - ticket = find_record :ticket, :created_by => @user.id + user = find_record :user + ticket = find_record :ticket, :created_by => user.id get :show, :id => ticket.id assert_response :redirect assert_redirected_to login_url end test "user tickets are visible to creator" do - ticket = find_record :ticket, :created_by => @user.id - login @user + user = find_record :user + ticket = find_record :ticket, :created_by => user.id + login user get :show, :id => ticket.id assert_response :success end - test "user tickets are not visible to other user" do - ticket = find_record :ticket, :created_by => @user.id - login @other_user + test "other users tickets are not visible" do + other_user = find_record :user + ticket = find_record :ticket, :created_by => other_user.id + login get :show, :id => ticket.id assert_response :redirect assert_redirected_to root_url @@ -79,7 +72,7 @@ class TicketsControllerTest < ActionController::TestCase params = {:title => "auth ticket test title", :comments_attributes => {"0" => {"body" =>"body of test ticket"}}} - login :email => Faker::Internet.user_name + '@' + APP_CONFIG[:domain] + login assert_difference('Ticket.count') do post :create, :ticket => params @@ -89,7 +82,7 @@ class TicketsControllerTest < ActionController::TestCase assert_not_nil assigns(:ticket).created_by assert_equal assigns(:ticket).created_by, @current_user.id - assert_equal assigns(:ticket).email, @current_user.email_address.email + assert_equal assigns(:ticket).email, @current_user.email_address assert_equal 1, assigns(:ticket).comments.count assert_not_nil assigns(:ticket).comments.first.posted_by @@ -114,7 +107,7 @@ class TicketsControllerTest < ActionController::TestCase test "add comment to own authenticated ticket" do - login User.last + login ticket = FactoryGirl.create :ticket, :created_by => @current_user.id #they should be able to comment if it is their ticket: @@ -132,8 +125,9 @@ class TicketsControllerTest < ActionController::TestCase test "cannot comment if it is not your ticket" do + other_user = find_record :user login :is_admin? => false, :email => nil - ticket = FactoryGirl.create :ticket, :created_by => @other_user.id + ticket = FactoryGirl.create :ticket, :created_by => other_user.id # they should *not* be able to comment if it is not their ticket put :update, :id => ticket.id, :ticket => {:comments_attributes => {"0" => {"body" =>"not allowed comment"}} } assert_response :redirect @@ -146,9 +140,10 @@ class TicketsControllerTest < ActionController::TestCase test "admin add comment to authenticated ticket" do + other_user = find_record :user login :is_admin? => true - ticket = FactoryGirl.create :ticket, :created_by => @other_user.id + ticket = FactoryGirl.create :ticket, :created_by => other_user.id #admin should be able to comment: assert_difference('Ticket.find(ticket.id).comments.count') do @@ -163,9 +158,10 @@ class TicketsControllerTest < ActionController::TestCase end test "tickets by admin" do - ticket = FactoryGirl.create :ticket, :created_by => @other_user.id + other_user = find_record :user + ticket = FactoryGirl.create :ticket, :created_by => other_user.id - login :is_admin? => true, :email => nil + login :is_admin? => true get :index, {:admin_status => "all", :open_status => "open"} assert assigns(:all_tickets).count > 1 |