community_engine 2.3.1 → 2.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +6 -14
- data/.travis.yml +2 -2
- data/CHANGELOG +1 -0
- data/Gemfile +2 -0
- data/README.markdown +101 -57
- data/about.yml +1 -1
- data/app/controllers/authorizations_controller.rb +2 -1
- data/app/controllers/base_controller.rb +31 -43
- data/app/controllers/comments_controller.rb +11 -5
- data/app/controllers/messages_controller.rb +1 -1
- data/app/controllers/password_resets_controller.rb +4 -4
- data/app/controllers/sessions_controller.rb +3 -4
- data/app/helpers/base_helper.rb +47 -43
- data/app/models/album.rb +3 -3
- data/app/models/authorization.rb +14 -14
- data/app/models/clipping.rb +13 -13
- data/app/models/clipping_image.rb +4 -4
- data/app/models/comment.rb +18 -10
- data/app/models/event.rb +12 -12
- data/app/models/homepage_feature.rb +4 -4
- data/app/models/message.rb +2 -2
- data/app/models/metro_area.rb +1 -1
- data/app/models/photo.rb +4 -4
- data/app/models/poll.rb +1 -1
- data/app/models/post.rb +48 -48
- data/app/models/sb_post.rb +1 -1
- data/app/models/topic.rb +2 -2
- data/app/models/user.rb +3 -2
- data/app/views/admin/comments.html.haml +11 -8
- data/app/views/admin/users.html.haml +6 -4
- data/app/views/comments/_comment.html.haml +3 -0
- data/app/views/comments/approve.js.haml +1 -0
- data/app/views/layouts/application.html.haml +16 -16
- data/app/views/messages/_sent.html.haml +2 -2
- data/app/views/users/_search_options.html.haml +2 -2
- data/app/views/users/new.html.haml +4 -4
- data/community_engine.gemspec +4 -3
- data/config/locales/en.yml +10 -4
- data/config/routes.rb +35 -34
- data/db/migrate/090_add_comment_role.rb +15 -0
- data/lib/community_engine/authenticated_system.rb +11 -11
- data/lib/community_engine/engines_extensions.rb +14 -2
- data/lib/community_engine/version.rb +1 -1
- data/lib/tasks/community_engine_tasks.rake +3 -72
- data/test/functional/authorizations_controller_test.rb +60 -0
- data/test/functional/comments_controller_test.rb +44 -67
- data/test/functional/password_reset_controller_test.rb +14 -6
- data/test/functional/sessions_controller_test.rb +3 -3
- data/test/functional/topics_controller_test.rb +2 -2
- data/test/test_helper.rb +1 -8
- data/test/testapp/config/application.rb +4 -0
- data/test/testapp/db/schema.rb +4 -3
- data/test/unit/comment_test.rb +85 -28
- metadata +53 -49
- data/lib/community_engine/rails_asset_extensions.rb +0 -131
@@ -1,19 +1,19 @@
|
|
1
1
|
module AuthenticatedSystem
|
2
2
|
def update_last_seen_at
|
3
3
|
return unless logged_in?
|
4
|
-
User.update_all ['sb_last_seen_at = ?', Time.now.utc], ['id = ?', current_user.id]
|
4
|
+
User.update_all ['sb_last_seen_at = ?', Time.now.utc], ['id = ?', current_user.id]
|
5
5
|
current_user.sb_last_seen_at = Time.now.utc
|
6
6
|
end
|
7
|
-
|
7
|
+
|
8
8
|
def login_by_token
|
9
9
|
end
|
10
|
-
|
10
|
+
|
11
11
|
protected
|
12
12
|
# Returns true or false if the user is logged in.
|
13
13
|
def logged_in?
|
14
14
|
current_user ? true : false
|
15
15
|
end
|
16
|
-
|
16
|
+
|
17
17
|
# Accesses the current user from the session.
|
18
18
|
def current_user
|
19
19
|
return @current_user if defined?(@current_user)
|
@@ -23,7 +23,7 @@ module AuthenticatedSystem
|
|
23
23
|
# Create a user session without credentials.
|
24
24
|
def current_user=(user)
|
25
25
|
return if current_user # Use act_as_user= to switch to another user account
|
26
|
-
@current_user_session = UserSession.create(user
|
26
|
+
@current_user_session = UserSession.create(user)
|
27
27
|
@current_user = @current_user_session.record
|
28
28
|
end
|
29
29
|
|
@@ -76,9 +76,9 @@ module AuthenticatedSystem
|
|
76
76
|
logged_in? && current_user.admin?
|
77
77
|
end
|
78
78
|
def moderator?
|
79
|
-
logged_in? && current_user.moderator?
|
79
|
+
logged_in? && current_user.moderator?
|
80
80
|
end
|
81
|
-
|
81
|
+
|
82
82
|
# Redirect as appropriate when an access request fails.
|
83
83
|
#
|
84
84
|
# The default action is to redirect to the login screen.
|
@@ -99,19 +99,19 @@ module AuthenticatedSystem
|
|
99
99
|
render :text => "Couldn't authenticate you", :status => '401 Unauthorized'
|
100
100
|
end
|
101
101
|
accepts.js do
|
102
|
-
store_location
|
102
|
+
store_location
|
103
103
|
render :update do |page|
|
104
104
|
page.redirect_to login_path
|
105
105
|
end and return false
|
106
|
-
end
|
106
|
+
end
|
107
107
|
end
|
108
108
|
false
|
109
109
|
end
|
110
|
-
|
110
|
+
|
111
111
|
# Inclusion hook to make #current_user and #logged_in?
|
112
112
|
# available as ActionView helper methods.
|
113
113
|
def self.included(base)
|
114
|
-
base.send :helper_method, :current_user, :current_user_session, :logged_in?, :admin?, :moderator?
|
114
|
+
base.send :helper_method, :current_user=, :current_user, :current_user_session, :logged_in?, :admin?, :moderator?
|
115
115
|
end
|
116
116
|
|
117
117
|
private
|
@@ -1,7 +1,19 @@
|
|
1
1
|
module EnginesExtensions
|
2
2
|
|
3
3
|
def require_from_ce(path)
|
4
|
-
require_dependency CommunityEngine::Engine.config.root.join('app', path).to_s
|
4
|
+
require_dependency CommunityEngine::Engine.config.root.join('app', path).to_s
|
5
5
|
end
|
6
|
-
|
6
|
+
|
7
|
+
def acts_as_moderated_commentable
|
8
|
+
acts_as_commentable :published, :pending
|
9
|
+
has_many :comments, {
|
10
|
+
:as => :commentable,
|
11
|
+
:dependent => :destroy,
|
12
|
+
:conditions => "role != 'pending'",
|
13
|
+
:before_add => Proc.new { |x, c| c.role = 'published' }
|
14
|
+
}
|
15
|
+
attr_protected :role
|
16
|
+
end
|
17
|
+
|
18
|
+
|
7
19
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'rake/clean'
|
2
2
|
|
3
|
-
namespace :community_engine do
|
4
|
-
|
3
|
+
namespace :community_engine do
|
4
|
+
|
5
5
|
desc 'Assign admin role to user. Usage: rake community_engine:make_admin email=admin@foo.com'
|
6
6
|
task :make_admin => :environment do
|
7
7
|
email = ENV["email"]
|
@@ -14,74 +14,5 @@ namespace :community_engine do
|
|
14
14
|
puts "There is no user with the e-mail '#{email}'."
|
15
15
|
end
|
16
16
|
end
|
17
|
-
|
18
|
-
# desc 'Test the community_engine plugin.'
|
19
|
-
# Rake::TestTask.new(:test) do |t|
|
20
|
-
# t.libs << 'lib'
|
21
|
-
# t.pattern = 'vendor/plugins/community_engine/test/**/*_test.rb'
|
22
|
-
# t.verbose = true
|
23
|
-
# end
|
24
|
-
# Rake::Task['community_engine:test'].comment = "Run the community_engine plugin tests."
|
25
|
-
|
26
|
-
# namespace :db do
|
27
|
-
# namespace :fixtures do
|
28
|
-
# desc "Load community engine fixtures"
|
29
|
-
# task :load => :environment do
|
30
|
-
# require 'active_record/fixtures'
|
31
|
-
# ActiveRecord::Base.establish_connection(Rails.env.to_sym)
|
32
|
-
# Dir.glob(File.join(Rails.root, 'vendor', 'plugins', 'community_engine','test','fixtures', '*.{yml,csv}')).each do |fixture_file|
|
33
|
-
# Fixtures.create_fixtures('vendor/plugins/community_engine/test/fixtures', File.basename(fixture_file, '.*'))
|
34
|
-
# end
|
35
|
-
# end
|
36
|
-
# end
|
37
|
-
# end
|
38
|
-
|
39
|
-
# namespace :db do
|
40
|
-
# namespace :migrate do
|
41
|
-
#
|
42
|
-
# desc 'For CE coming from version < 1.0.1 that stored plugin migration info in the normal Rails schema_migrations table. Move that info back into the plugin_schema_migrations table.'
|
43
|
-
# task :upgrade_desert_plugin_migrations => :environment do
|
44
|
-
# plugin_migration_table = Desert::PluginMigrations::Migrator.schema_migrations_table_name
|
45
|
-
# schema_migration_table = ActiveRecord::Migrator.schema_migrations_table_name
|
46
|
-
#
|
47
|
-
# unless ActiveRecord::Base.connection.table_exists?(plugin_migration_table)
|
48
|
-
# ActiveRecord::Migration.create_table(plugin_migration_table, :id => false) do |schema_migrations_table|
|
49
|
-
# schema_migrations_table.column :version, :string, :null => false
|
50
|
-
# schema_migrations_table.column :plugin_name, :string, :null => false
|
51
|
-
# end
|
52
|
-
# end
|
53
|
-
#
|
54
|
-
# def insert_new_version(plugin_name, version, table)
|
55
|
-
# # Check if the row already exists for some reason - maybe run this task more than once.
|
56
|
-
# return if ActiveRecord::Base.connection.select_rows("SELECT * FROM #{table} WHERE version = #{version} AND plugin_name = '#{plugin_name}'").size > 0
|
57
|
-
#
|
58
|
-
# puts "Inserting new version #{version} for plugin #{plugin_name} in #{table}."
|
59
|
-
# ActiveRecord::Base.connection.insert("INSERT INTO #{table} (plugin_name, version) VALUES ('#{plugin_name}', #{version.to_i})")
|
60
|
-
# end
|
61
|
-
#
|
62
|
-
# def remove_old_version(plugin_name, version, table)
|
63
|
-
# puts "Removing old version #{version} for plugin #{plugin_name} in #{table}."
|
64
|
-
# ActiveRecord::Base.connection.execute("DELETE FROM #{table} WHERE version = '#{version}-#{plugin_name}'")
|
65
|
-
# end
|
66
|
-
#
|
67
|
-
# existing_migrations = ActiveRecord::Base.connection.select_rows("SELECT * FROM #{schema_migration_table}").uniq
|
68
|
-
# migrations = {}
|
69
|
-
# existing_migrations.flatten.each do |m|
|
70
|
-
# plugin_version, plugin_name = m.split('-')
|
71
|
-
# next if plugin_name.blank?
|
72
|
-
# migrations[plugin_name] ||= []
|
73
|
-
# migrations[plugin_name] << plugin_version
|
74
|
-
# end
|
75
|
-
#
|
76
|
-
# migrations.each do |plugin_name, versions|
|
77
|
-
# versions.each do |version|
|
78
|
-
# insert_new_version(plugin_name, version, plugin_migration_table)
|
79
|
-
# remove_old_version(plugin_name, version, schema_migration_table)
|
80
|
-
# end
|
81
|
-
# end
|
82
|
-
#
|
83
|
-
# end
|
84
|
-
# end
|
85
|
-
# end
|
86
17
|
|
87
|
-
end
|
18
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class AuthorizationsControllerTest < ActionController::TestCase
|
4
|
+
fixtures :all
|
5
|
+
|
6
|
+
setup do
|
7
|
+
OmniAuth.config.test_mode = true
|
8
|
+
end
|
9
|
+
|
10
|
+
|
11
|
+
|
12
|
+
test 'should create new authorization and log in' do
|
13
|
+
|
14
|
+
set_ommniauth
|
15
|
+
|
16
|
+
get :create
|
17
|
+
|
18
|
+
user = UserSession.find.record
|
19
|
+
assert_redirected_to user_path(user)
|
20
|
+
end
|
21
|
+
|
22
|
+
test 'should find existing authorization and log in' do
|
23
|
+
quentin = users(:quentin)
|
24
|
+
Authorization.create_from_hash(auth_hash(quentin.email), quentin)
|
25
|
+
set_ommniauth(quentin.email)
|
26
|
+
|
27
|
+
get :create
|
28
|
+
|
29
|
+
assert_redirected_to user_path(quentin)
|
30
|
+
end
|
31
|
+
|
32
|
+
test 'should authorize existing logged-in user' do
|
33
|
+
quentin = users(:quentin)
|
34
|
+
login_as :quentin
|
35
|
+
|
36
|
+
set_ommniauth(quentin.email)
|
37
|
+
|
38
|
+
get :create
|
39
|
+
|
40
|
+
assert_redirected_to user_path(quentin)
|
41
|
+
end
|
42
|
+
|
43
|
+
|
44
|
+
def set_ommniauth(email='email@example.com')
|
45
|
+
OmniAuth.config.mock_auth[:facebook] = auth_hash(email)
|
46
|
+
request.env["omniauth.auth"] = OmniAuth.config.mock_auth[:facebook]
|
47
|
+
end
|
48
|
+
|
49
|
+
def auth_hash(email)
|
50
|
+
{
|
51
|
+
'provider' => 'facebook',
|
52
|
+
"info" => {
|
53
|
+
'nickname' => 'Omniauth-user',
|
54
|
+
'email' => email
|
55
|
+
},
|
56
|
+
'uid' => '123545'
|
57
|
+
}
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
@@ -2,60 +2,37 @@ require 'test_helper'
|
|
2
2
|
|
3
3
|
class CommentsControllerTest < ActionController::TestCase
|
4
4
|
fixtures :users, :photos, :posts, :comments, :roles
|
5
|
-
|
6
|
-
def test_should_create_user_comment_with_notification
|
7
|
-
login_as :aaron
|
8
|
-
assert_difference Comment, :count, 1 do
|
9
|
-
assert_difference ActionMailer::Base.deliveries, :length, 1 do
|
10
|
-
create_user_comment
|
11
|
-
end
|
12
|
-
end
|
13
|
-
assert_response :redirect
|
14
|
-
end
|
15
|
-
|
16
|
-
def test_should_create_user_comment_and_notify_previous_commenters
|
17
|
-
login_as :dwr
|
18
|
-
# aaron should get a notification, because he's being commented on
|
19
|
-
# quentin should get one too, because he previously commented on the profile
|
20
|
-
assert_difference ActionMailer::Base.deliveries, :length, 2 do
|
21
|
-
create_user_comment(:user_id => users(:aaron).id)
|
22
|
-
end
|
23
|
-
end
|
24
5
|
|
25
|
-
def
|
26
|
-
users(:quentin).notify_comments = false
|
27
|
-
users(:quentin).save!
|
6
|
+
def test_should_create_user_comment
|
28
7
|
login_as :aaron
|
29
8
|
assert_difference Comment, :count, 1 do
|
30
|
-
assert_no_difference ActionMailer::Base.deliveries, :length do
|
31
9
|
create_user_comment
|
32
|
-
end
|
33
10
|
end
|
34
11
|
assert_response :redirect
|
35
12
|
end
|
36
|
-
|
13
|
+
|
37
14
|
def test_should_fail_to_create_user_comment
|
38
15
|
login_as :aaron
|
39
16
|
assert_no_difference Comment, :count do
|
40
17
|
create_user_comment(:comment => {:comment => nil})
|
41
|
-
end
|
42
|
-
assert_response :redirect
|
18
|
+
end
|
19
|
+
assert_response :redirect
|
43
20
|
end
|
44
|
-
|
21
|
+
|
45
22
|
def test_should_create_photo_comment
|
46
23
|
login_as :aaron
|
47
24
|
assert_difference Comment, :count, 1 do
|
48
25
|
create_photo_comment
|
49
26
|
end
|
50
|
-
assert_response :redirect
|
27
|
+
assert_response :redirect
|
51
28
|
end
|
52
|
-
|
29
|
+
|
53
30
|
def test_should_fail_to_create_photo_comment
|
54
31
|
login_as :aaron
|
55
32
|
assert_no_difference Comment, :count do
|
56
33
|
create_photo_comment(:comment => {:comment => nil})
|
57
|
-
end
|
58
|
-
assert_response :redirect
|
34
|
+
end
|
35
|
+
assert_response :redirect
|
59
36
|
end
|
60
37
|
|
61
38
|
def test_should_create_post_comment
|
@@ -63,41 +40,41 @@ class CommentsControllerTest < ActionController::TestCase
|
|
63
40
|
assert_difference Comment, :count, 1 do
|
64
41
|
create_post_comment
|
65
42
|
end
|
66
|
-
assert_response :redirect
|
43
|
+
assert_response :redirect
|
67
44
|
end
|
68
|
-
|
45
|
+
|
69
46
|
def test_should_destroy_post_comment
|
70
47
|
login_as :quentin
|
71
48
|
assert_difference Comment, :count, -1 do
|
72
49
|
delete :destroy, :commentable_type => 'Post', :commentable_id => comments(:quentins_comment_on_his_own_post).commentable_id, :id => comments(:quentins_comment_on_his_own_post)
|
73
50
|
end
|
74
51
|
end
|
75
|
-
|
52
|
+
|
76
53
|
def test_should_not_destroy_post_comment
|
77
54
|
login_as :aaron
|
78
55
|
assert_no_difference Comment, :count do
|
79
56
|
delete :destroy, :commentable_type => 'Post', :commentable_id => comments(:quentins_comment_on_his_own_post).commentable_id, :id => comments(:quentins_comment_on_his_own_post)
|
80
57
|
end
|
81
58
|
end
|
82
|
-
|
59
|
+
|
83
60
|
def test_should_fail_to_create_post_comment
|
84
61
|
login_as :aaron
|
85
62
|
assert_no_difference Comment, :count do
|
86
63
|
create_post_comment(:comment => {:comment => nil})
|
87
|
-
end
|
88
|
-
assert_response :redirect
|
64
|
+
end
|
65
|
+
assert_response :redirect
|
89
66
|
end
|
90
67
|
|
91
68
|
def test_should_fail_to_create_comment
|
92
69
|
login_as :aaron
|
93
|
-
assert_raises(NameError) do
|
70
|
+
assert_raises(NameError) do
|
94
71
|
create_post_comment(:commentable_type => 'unkown_commentable_type')
|
95
72
|
end
|
96
73
|
end
|
97
74
|
|
98
75
|
def test_should_show_comments_index
|
99
76
|
login_as :quentin
|
100
|
-
get :index, :commentable_type => 'users', :commentable_id => users(:aaron).to_param
|
77
|
+
get :index, :commentable_type => 'users', :commentable_id => users(:aaron).to_param
|
101
78
|
assert_response :success
|
102
79
|
assert !assigns(:comments).empty?
|
103
80
|
end
|
@@ -108,14 +85,14 @@ class CommentsControllerTest < ActionController::TestCase
|
|
108
85
|
assert_response :success
|
109
86
|
assert !assigns(:comments).empty?
|
110
87
|
end
|
111
|
-
|
88
|
+
|
112
89
|
def test_should_show_empty_comments_index
|
113
90
|
login_as :aaron
|
114
|
-
get :index, :commentable_type => 'users', :commentable_id => users(:quentin).to_param
|
91
|
+
get :index, :commentable_type => 'users', :commentable_id => users(:quentin).to_param
|
115
92
|
assert_response :success
|
116
93
|
assert assigns(:comments).empty?
|
117
94
|
end
|
118
|
-
|
95
|
+
|
119
96
|
def test_should_show_empty_comments_index_rss
|
120
97
|
login_as :aaron
|
121
98
|
get :index, :commentable_type => 'users', :commentable_id => users(:quentin).to_param, :format => 'rss'
|
@@ -125,41 +102,41 @@ class CommentsControllerTest < ActionController::TestCase
|
|
125
102
|
|
126
103
|
def test_should_show_private_comments_index_if_logged_in
|
127
104
|
login_as :quentin
|
128
|
-
get :index, :commentable_type => 'users', :commentable_id => users(:privateuser).to_param
|
129
|
-
assert !assigns(:comments).empty?
|
105
|
+
get :index, :commentable_type => 'users', :commentable_id => users(:privateuser).to_param
|
106
|
+
assert !assigns(:comments).empty?
|
130
107
|
assert_response :success
|
131
108
|
end
|
132
109
|
|
133
110
|
def test_should_not_show_private_comments_index
|
134
|
-
get :index, :commentable_type => 'users', :commentable_id => users(:privateuser).to_param
|
111
|
+
get :index, :commentable_type => 'users', :commentable_id => users(:privateuser).to_param
|
135
112
|
assert_response :redirect
|
136
113
|
end
|
137
|
-
|
114
|
+
|
138
115
|
def test_should_show_comments_index_rss_if_logged_in
|
139
116
|
login_as :quentin
|
140
117
|
get :index, :commentable_type => 'users', :commentable_id => users(:aaron).to_param, :format => 'rss'
|
141
118
|
assert !assigns(:comments).empty?
|
142
119
|
assert_response :success
|
143
120
|
end
|
144
|
-
|
121
|
+
|
145
122
|
def test_should_unsubscribe_with_token
|
146
123
|
configatron.allow_anonymous_commenting = true
|
147
124
|
comment = Comment.create!(:comment => 'foo', :author_email => 'bar@foo.com', :author_ip => '123.123.123', :recipient => users(:quentin), :commentable => users(:quentin), :notify_by_email => true)
|
148
125
|
configatron.allow_anonymous_commenting = false
|
149
|
-
|
126
|
+
|
150
127
|
get :unsubscribe, :commentable_type => comment.commentable_type, :commentable_id => comment.commentable_id, :id => comment.id, :token => comment.token_for('bar@foo.com'), :email => 'bar@foo.com'
|
151
128
|
assert comment.reload.notify_by_email.eql?(false)
|
152
129
|
end
|
153
|
-
|
130
|
+
|
154
131
|
def test_should_not_unsubscribe_with_bad_token
|
155
132
|
configatron.allow_anonymous_commenting = true
|
156
133
|
comment = Comment.create!(:comment => 'foo', :author_email => 'bar@foo.com', :author_ip => '123.123.123', :recipient => users(:quentin), :commentable => users(:quentin), :notify_by_email => true)
|
157
134
|
configatron.allow_anonymous_commenting = false
|
158
|
-
|
159
|
-
get :unsubscribe, :commentable_type => 'User', :commentable_id => users(:quentin).to_param, :id => comment.id, :token => 'badtokengoeshere'
|
160
|
-
assert comment.reload.notify_by_email.eql?(true)
|
135
|
+
|
136
|
+
get :unsubscribe, :commentable_type => 'User', :commentable_id => users(:quentin).to_param, :id => comment.id, :token => 'badtokengoeshere'
|
137
|
+
assert comment.reload.notify_by_email.eql?(true)
|
161
138
|
end
|
162
|
-
|
139
|
+
|
163
140
|
def test_should_get_edit_js_as_admin
|
164
141
|
login_as :admin
|
165
142
|
get :edit, :id => comments(:quentins_comment_on_his_own_post), :format => 'js'
|
@@ -170,42 +147,42 @@ class CommentsControllerTest < ActionController::TestCase
|
|
170
147
|
login_as :admin
|
171
148
|
edited_text = 'edited the comment body'
|
172
149
|
put :update, :id => comments(:quentins_comment_on_his_own_post), :comment => {:comment => edited_text}, :format => 'js'
|
173
|
-
|
150
|
+
|
174
151
|
assert assigns(:comment).comment.eql?(edited_text)
|
175
152
|
assert_response :success
|
176
153
|
end
|
177
|
-
|
154
|
+
|
178
155
|
def test_should_not_update_if_not_admin_or_moderator
|
179
156
|
login_as :quentin
|
180
|
-
|
181
|
-
edited_text = 'edited the comment body'
|
157
|
+
|
158
|
+
edited_text = 'edited the comment body'
|
182
159
|
put :update, :id => comments(:quentins_comment_on_his_own_post), :comment => {:comment => edited_text}, :format => "js"
|
183
|
-
|
160
|
+
|
184
161
|
assert_response :success #js redirect
|
185
162
|
assert_not_equal(comments(:quentins_comment_on_his_own_post).comment, edited_text)
|
186
163
|
end
|
187
164
|
|
188
165
|
|
189
|
-
|
166
|
+
|
190
167
|
protected
|
191
|
-
|
168
|
+
|
192
169
|
def create_user_comment(options = {})
|
193
|
-
post :create, {:commentable_type => (options[:commentable_type] || "users"),
|
194
|
-
:commentable_id => (options[:user_id] || users(:quentin).id),
|
170
|
+
post :create, {:commentable_type => (options[:commentable_type] || "users"),
|
171
|
+
:commentable_id => (options[:user_id] || users(:quentin).id),
|
195
172
|
:comment => {:title => "test comment to quentin", :comment => "hey man, how are you?"}.merge(options[:comment] || {})
|
196
173
|
}
|
197
174
|
end
|
198
175
|
|
199
176
|
def create_photo_comment(options = {})
|
200
|
-
post :create, {:commentable_type => (options[:commentable_type] || "photos"),
|
201
|
-
:commentable_id => (options[:photo_id] || photos(:library_pic).id),
|
177
|
+
post :create, {:commentable_type => (options[:commentable_type] || "photos"),
|
178
|
+
:commentable_id => (options[:photo_id] || photos(:library_pic).id),
|
202
179
|
:comment => {:title => "test comment on a photo", :comment => "hey man, nice pic?"}.merge(options[:comment] || {})
|
203
180
|
}
|
204
181
|
end
|
205
182
|
|
206
183
|
def create_post_comment(options = {})
|
207
|
-
post :create, {:commentable_type => (options[:commentable_type] || "posts"),
|
208
|
-
:commentable_id => (options[:post_id] || posts(:funny_post).id),
|
184
|
+
post :create, {:commentable_type => (options[:commentable_type] || "posts"),
|
185
|
+
:commentable_id => (options[:post_id] || posts(:funny_post).id),
|
209
186
|
:comment => {:title => "test comment on a posts", :comment => "hey man, nice posts?"}.merge(options[:comment] || {})
|
210
187
|
}
|
211
188
|
end
|