summaryrefslogtreecommitdiff
path: root/users/test/functional
diff options
context:
space:
mode:
authorjessib <jessib@riseup.net>2014-01-07 12:57:01 -0800
committerjessib <jessib@riseup.net>2014-01-07 12:57:01 -0800
commitc7e66852324714a166dd35dc3d5873a0053dcb9b (patch)
tree4d306a960fbf1491510573640643f91af8fc208c /users/test/functional
parentb920c144ef70613414a702e468ab7889659a03da (diff)
Some refactoring, to simplify user model, optimize, and allow messages to be sorted by date (although are not now.)
Also, rather than use whenever gem, will have cron job created to call task.
Diffstat (limited to 'users/test/functional')
-rw-r--r--users/test/functional/v1/messages_controller_test.rb45
1 files changed, 21 insertions, 24 deletions
diff --git a/users/test/functional/v1/messages_controller_test.rb b/users/test/functional/v1/messages_controller_test.rb
index 0bc09be..24a5b1f 100644
--- a/users/test/functional/v1/messages_controller_test.rb
+++ b/users/test/functional/v1/messages_controller_test.rb
@@ -3,57 +3,54 @@ require 'test_helper'
class V1::MessagesControllerTest < ActionController::TestCase
setup do
- @message = Message.new(:text => 'a test message')
- @message.save
@user = FactoryGirl.build(:user)
- @user.message_ids_to_see << @message.id
@user.save
- login :is_admin? => true
+ @message = Message.new(:text => 'a test message')
+ @message.user_ids_to_show << @user.id
+ @message.save
end
teardown do
- @user.destroy
@message.destroy
+ @user.destroy
end
test "get messages for user" do
- get :user_messages, :user_id => @user.id
+ login @user
+ get :index
assert response.body.include? @message.text
assert response.body.include? @message.id
end
test "mark message read for user" do
- assert @user.message_ids_to_see.include?(@message.id)
- assert !@user.message_ids_seen.include?(@message.id)
-
- put :mark_read, :user_id => @user.id, :message_id => @message.id
- @user.reload
- assert !@user.message_ids_to_see.include?(@message.id)
- assert @user.message_ids_seen.include?(@message.id)
+ login @user
+ assert @message.user_ids_to_show.include?(@user.id)
+ assert !@message.user_ids_have_shown.include?(@user.id)
+ put :update, :id => @message.id
+ @message.reload
+ assert !@message.user_ids_to_show.include?(@user.id)
+ assert @message.user_ids_have_shown.include?(@user.id)
assert_json_response true
end
test "do not get seen messages" do
- put :mark_read, :user_id => @user.id, :message_id => @message.id
- @user.reload
- get :user_messages, :user_id => @user.id
+ login @user
+ put :update, :id => @message.id
+ @message.reload
+ get :index
assert !(response.body.include? @message.text)
assert !(response.body.include? @message.id)
end
- test "empty messages for non-existing user" do
- get :user_messages, :user_id => 'some random string'
- assert_json_response []
- end
test "mark read responds even with bad inputs" do
- put :mark_read, :user_id => 'nonsense', :message_id => 'more nonsense'
+ login @user
+ put :update, :id => 'more nonsense'
assert_json_response false
end
- test "fails if not admin" do
- login :is_admin? => false
- get :user_messages, :user_id => @user.id
+ test "fails if not authenticated" do
+ get :index, :format => :json
assert_access_denied
end