tb_blog 1.0.2 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/app/assets/javascripts/spud/admin/post_comments.js +14 -0
- data/app/assets/javascripts/spud/admin/posts.js +1 -0
- data/app/assets/stylesheets/spud/admin/posts.css +20 -1
- data/app/controllers/blog_controller.rb +17 -13
- data/app/controllers/spud/admin/post_comments_controller.rb +8 -6
- data/app/controllers/spud/admin/posts_controller.rb +1 -1
- data/app/helpers/spud/admin/post_comments_helper.rb +1 -0
- data/app/models/spud_post.rb +9 -4
- data/app/models/spud_post_comment.rb +14 -4
- data/app/views/blog/_comment_form.html.erb +13 -1
- data/app/views/blog/index.html.erb +1 -1
- data/app/views/spud/admin/post_comments/index.html.erb +20 -5
- data/app/views/spud/admin/posts/index.html.erb +3 -4
- data/lib/spud_blog/configuration.rb +2 -1
- data/lib/spud_blog/version.rb +1 -1
- data/spec/controllers/blog_controller_spec.rb +43 -0
- data/spec/controllers/spud/admin/posts_controller_spec.rb +5 -0
- data/spec/dummy/README.rdoc +261 -0
- data/spec/dummy/Rakefile +7 -0
- data/spec/dummy/app/assets/javascripts/application.js +15 -0
- data/spec/dummy/app/assets/stylesheets/application.css +13 -0
- data/spec/dummy/app/controllers/application_controller.rb +3 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/config/application.rb +59 -0
- data/spec/dummy/config/boot.rb +10 -0
- data/spec/dummy/config/database.yml +15 -0
- data/spec/dummy/config/environment.rb +10 -0
- data/spec/dummy/config/environments/development.rb +37 -0
- data/spec/dummy/config/environments/production.rb +67 -0
- data/spec/dummy/config/environments/test.rb +37 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/inflections.rb +15 -0
- data/spec/dummy/config/initializers/mime_types.rb +5 -0
- data/spec/dummy/config/initializers/secret_token.rb +7 -0
- data/spec/dummy/config/initializers/session_store.rb +8 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +5 -0
- data/spec/dummy/config/routes.rb +4 -0
- data/spec/dummy/db/migrate/20120610130206_create_spud_admin_permissions.spud_core.rb +12 -0
- data/spec/dummy/db/migrate/20120610130207_create_spud_users.spud_core.rb +30 -0
- data/spec/dummy/db/migrate/20120610130208_add_time_zone_to_spud_user.spud_core.rb +7 -0
- data/spec/dummy/db/migrate/20120610130209_add_scope_to_spud_admin_permissions.spud_core.rb +7 -0
- data/spec/dummy/db/migrate/20120610130210_create_spud_user_settings.spud_core.rb +12 -0
- data/spec/dummy/db/schema.rb +130 -0
- data/spec/dummy/log/development.log +263 -0
- data/spec/dummy/log/test.log +3339 -0
- data/spec/dummy/public/404.html +26 -0
- data/spec/dummy/public/422.html +26 -0
- data/spec/dummy/public/500.html +25 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/script/rails +6 -0
- data/spec/factories/spud_post_factories.rb +17 -0
- data/spec/factories/spud_user_factories.rb +31 -0
- data/spec/spec_helper.rb +38 -0
- data/spec/support/authlogic_helper.rb +2 -0
- metadata +94 -13
- data/test/fixtures/spud_post_sites.yml +0 -9
- data/test/unit/spud_post_site_test.rb +0 -7
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
N2FkN2RjOWZiYzA4OWRlMDUyYzgyMDQxNGYxMzY1M2JhODFmZmI1Yg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MGY4YjRkMTAyY2U1MDlhZTBhMTQ1MzBiYmFmODlkNTJmMmI1OTY0NQ==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MjUyMTkzNjJlYjNhYzY4MWE4NjYyYjljZjY5MzQ1ZmFmNjA3NzdmYzU5ZWIw
|
10
|
+
YmI5NzU3ZWIxMjY0ZDYzYzcyZmU4ZjUzMGE2ZGFiYjJhMTNjMzVhZDQ5MWM5
|
11
|
+
NTA1NTMyYjVlMDEwYzZjYzAxYWMyYTUwNmUyMjlhMWUxZGM1OWE=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
Yjk3ZmZlODRiYzhlYzhhYTdmZWIzZmExNDE5NmYxNzhjYWFlNTE1OWM3MTcw
|
14
|
+
MWQ3YzM4MGFkNmQwM2FhNjBhOTQwNzg3NzczYjc4MmNlN2I1MGM4MWY3Njhm
|
15
|
+
YzYyNmUzZDkzNTA4YWUwZTJkODRhNzc3M2E3ZTE0MDJhN2NhYzI=
|
@@ -0,0 +1,14 @@
|
|
1
|
+
(function(){
|
2
|
+
|
3
|
+
spud.admin.post_comments = {
|
4
|
+
index: function(){
|
5
|
+
$('body').on('click', '.blog-comment-content-toggle', clickedToggleCommentContent);
|
6
|
+
}
|
7
|
+
};
|
8
|
+
|
9
|
+
var clickedToggleCommentContent = function(e){
|
10
|
+
e.preventDefault();
|
11
|
+
$(this).next('.blog-comment-content-hidden').toggle();
|
12
|
+
};
|
13
|
+
|
14
|
+
})();
|
@@ -106,8 +106,27 @@
|
|
106
106
|
display: none;
|
107
107
|
}
|
108
108
|
|
109
|
-
/*Comment Manager
|
109
|
+
/* Comment Manager
|
110
|
+
------------------ */
|
111
|
+
.spud-post-comments-manage{
|
112
|
+
font-size: 12px;
|
113
|
+
font-style: italic;
|
114
|
+
}
|
110
115
|
.submitted-on {
|
111
116
|
display:block;
|
112
117
|
color:#555;
|
113
118
|
}
|
119
|
+
.blog-comment-content{
|
120
|
+
|
121
|
+
}
|
122
|
+
.blog-comment-content-toggle{
|
123
|
+
font-size: 12px;
|
124
|
+
display: block;
|
125
|
+
}
|
126
|
+
.blog-comment-content-hidden{
|
127
|
+
font-size: 12px;
|
128
|
+
margin: 4px 0 0;
|
129
|
+
padding: 4px 0 0;
|
130
|
+
border-top: 1px solid #666;
|
131
|
+
display: none;
|
132
|
+
}
|
@@ -3,7 +3,7 @@ class BlogController < ApplicationController
|
|
3
3
|
respond_to :html, :xml, :json, :rss
|
4
4
|
layout Spud::Blog.base_layout
|
5
5
|
|
6
|
-
before_filter :find_post, :only => :show
|
6
|
+
before_filter :find_post, :only => [:show, :create_comment]
|
7
7
|
|
8
8
|
caches_action :show, :index,
|
9
9
|
:expires => Spud::Blog.config.action_caching_duration,
|
@@ -27,14 +27,14 @@ class BlogController < ApplicationController
|
|
27
27
|
page = params[:page].to_i
|
28
28
|
if page.to_s != params[:page].to_s
|
29
29
|
if(page > 1)
|
30
|
-
redirect_to blog_path(:page => page)
|
30
|
+
redirect_to blog_path(:page => page), :status => :moved_permanently and return
|
31
31
|
else
|
32
|
-
redirect_to blog_path(:page => nil)
|
32
|
+
redirect_to blog_path(:page => nil), :status => :moved_permanently and return
|
33
33
|
end
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
37
|
-
@posts = SpudPost.public_blog_posts(page, Spud::Blog.config.posts_per_page)
|
37
|
+
@posts = SpudPost.public_blog_posts(page, Spud::Blog.config.posts_per_page).includes(:categories, :author)
|
38
38
|
if Spud::Core.config.multisite_mode_enabled
|
39
39
|
@posts = @posts.for_spud_site(current_site_id)
|
40
40
|
end
|
@@ -95,7 +95,7 @@ class BlogController < ApplicationController
|
|
95
95
|
|
96
96
|
def show
|
97
97
|
if @post.comments_enabled
|
98
|
-
@comment = SpudPostComment.new(
|
98
|
+
@comment = SpudPostComment.new()
|
99
99
|
end
|
100
100
|
respond_with @post
|
101
101
|
end
|
@@ -105,20 +105,24 @@ class BlogController < ApplicationController
|
|
105
105
|
render :nothing => true
|
106
106
|
return
|
107
107
|
end
|
108
|
-
@post = SpudPost.find(params[:id])
|
109
|
-
if @post.blank?
|
110
|
-
flash[:error] = "Post not found!"
|
111
|
-
redirect_to blog_path and return false
|
112
|
-
end
|
113
108
|
@comment = @post.comments.new(params[:spud_post_comment])
|
114
109
|
@comment.user_agent = request.env["HTTP_USER_AGENT"]
|
115
110
|
@comment.user_ip = request.remote_ip
|
116
111
|
@comment.referrer = request.referrer
|
117
|
-
@comment.approved =
|
112
|
+
@comment.approved = Spud::Blog.default_comment_approval
|
118
113
|
@comment.permalink = blog_post_url(@post.url_name)
|
119
|
-
|
114
|
+
if @comment.save
|
115
|
+
if @comment.approved?
|
116
|
+
flash[:notice] = 'Your comment has been posted.'
|
117
|
+
else
|
118
|
+
flash[:notice] = 'Your comment has been saved and will appear after being reviewed by an administrator.'
|
119
|
+
end
|
120
|
+
@comment = SpudPostComment.new()
|
121
|
+
end
|
120
122
|
respond_with @comment do |format|
|
121
|
-
format.html {
|
123
|
+
format.html {
|
124
|
+
render 'show'
|
125
|
+
}
|
122
126
|
end
|
123
127
|
end
|
124
128
|
|
@@ -7,15 +7,14 @@ class Spud::Admin::PostCommentsController < Spud::Admin::ApplicationController
|
|
7
7
|
add_breadcrumb 'Blog Posts', :spud_admin_posts_path
|
8
8
|
add_breadcrumb 'Comments', :spud_admin_post_comments_path
|
9
9
|
|
10
|
-
|
11
10
|
def index
|
12
11
|
@page_name = "Comments"
|
13
12
|
if params[:post_id]
|
14
|
-
@post_comments =
|
13
|
+
@post_comments = SpudPostComment.where(:spud_post_id => params[:post_id])
|
15
14
|
else
|
16
15
|
@post_comments = SpudPostComment
|
17
16
|
end
|
18
|
-
@post_comments = @post_comments.paginate
|
17
|
+
@post_comments = @post_comments.includes(:post).paginate(:page => params[:page], :per_page => 15)
|
19
18
|
respond_with @post_comments
|
20
19
|
end
|
21
20
|
|
@@ -36,11 +35,12 @@ class Spud::Admin::PostCommentsController < Spud::Admin::ApplicationController
|
|
36
35
|
end
|
37
36
|
|
38
37
|
def approve
|
39
|
-
|
40
38
|
if Spud::Blog.enable_rakismet && @post_comment.spam
|
41
39
|
@post_comment.ham!
|
42
40
|
end
|
43
|
-
@post_comment.
|
41
|
+
@post_comment.spam = false
|
42
|
+
@post_comment.approved = true
|
43
|
+
@post_comment.save()
|
44
44
|
redirect_to request.referer || spud_admin_post_comments_path
|
45
45
|
end
|
46
46
|
|
@@ -48,7 +48,9 @@ class Spud::Admin::PostCommentsController < Spud::Admin::ApplicationController
|
|
48
48
|
if Spud::Blog.enable_rakismet && !@post_comment.spam
|
49
49
|
@post_comment.spam!
|
50
50
|
end
|
51
|
-
@post_comment.
|
51
|
+
@post_comment.spam = true
|
52
|
+
@post_comment.approved = false
|
53
|
+
@post_comment.save()
|
52
54
|
redirect_to request.referer || spud_admin_post_comments_path
|
53
55
|
end
|
54
56
|
|
@@ -8,7 +8,7 @@ class Spud::Admin::PostsController < Spud::Admin::ApplicationController
|
|
8
8
|
cache_sweeper :spud_post_sweeper, :only => [:create, :update, :destroy]
|
9
9
|
|
10
10
|
def index
|
11
|
-
@posts = SpudPost.where(:is_news => false).order('published_at desc').includes(:
|
11
|
+
@posts = SpudPost.where(:is_news => false).order('published_at desc').includes(:pending_comments, :author).paginate(:page => params[:page], :per_page => 15)
|
12
12
|
respond_with @posts
|
13
13
|
end
|
14
14
|
|
data/app/models/spud_post.rb
CHANGED
@@ -6,8 +6,9 @@ class SpudPost < ActiveRecord::Base
|
|
6
6
|
:join_table => 'spud_post_categories_posts',
|
7
7
|
:foreign_key => 'spud_post_id'
|
8
8
|
belongs_to :author, :class_name => 'SpudUser', :foreign_key => 'spud_user_id'
|
9
|
-
has_many :comments, :class_name => 'SpudPostComment'
|
10
|
-
has_many :
|
9
|
+
has_many :comments, :class_name => 'SpudPostComment', :inverse_of => :post
|
10
|
+
has_many :pending_comments, :class_name => "SpudPostComment", :conditions => {:spam => [nil, false], :approved => false}
|
11
|
+
has_many :visible_comments, :class_name => 'SpudPostComment',:conditions => {:spam => [nil,false], :approved => true}
|
11
12
|
has_many :spam_comments, :class_name => "SpudPostComment", :conditions => {:spam => true}
|
12
13
|
has_many :spud_permalinks,:as => :attachment
|
13
14
|
has_many :spud_post_sites, :dependent => :destroy
|
@@ -29,7 +30,7 @@ class SpudPost < ActiveRecord::Base
|
|
29
30
|
end
|
30
31
|
|
31
32
|
def self.public_posts(page, per_page)
|
32
|
-
return where('visible = ? AND published_at <= ?', true,Time.now.utc).order('published_at desc').
|
33
|
+
return where('visible = ? AND published_at <= ?', true,Time.now.utc).order('published_at desc').paginate(:page => page, :per_page => per_page)
|
33
34
|
end
|
34
35
|
|
35
36
|
def self.public_blog_posts(page, per_page)
|
@@ -136,6 +137,10 @@ class SpudPost < ActiveRecord::Base
|
|
136
137
|
return !is_public?
|
137
138
|
end
|
138
139
|
|
140
|
+
def category_names
|
141
|
+
return self.categories.collect{ |c| c.name }.join(', ')
|
142
|
+
end
|
143
|
+
|
139
144
|
# Spud site ids getter
|
140
145
|
def spud_site_ids
|
141
146
|
if @spud_site_ids.nil?
|
@@ -153,7 +158,7 @@ class SpudPost < ActiveRecord::Base
|
|
153
158
|
end
|
154
159
|
end
|
155
160
|
|
156
|
-
|
161
|
+
private
|
157
162
|
|
158
163
|
def set_url_name
|
159
164
|
self.url_name = "#{self.published_at.strftime('%Y-%m-%d')}-#{self.title.parameterize}"
|
@@ -1,18 +1,28 @@
|
|
1
1
|
class SpudPostComment < ActiveRecord::Base
|
2
|
+
|
3
|
+
attr_accessible :author, :content, :spud_post_id, :referrer, :spam, :user_agent, :user_ip, :permalink
|
4
|
+
|
2
5
|
if Spud::Blog.enable_rakismet
|
3
6
|
include Rakismet::Model
|
4
7
|
before_save :rakismet_check_for_spam
|
5
8
|
end
|
6
9
|
|
7
|
-
|
8
10
|
validates_presence_of :author, :content
|
9
|
-
belongs_to :post, :class_name => 'SpudPost', :foreign_key => 'spud_post_id', :counter_cache => :comments_count
|
11
|
+
belongs_to :post, :class_name => 'SpudPost', :foreign_key => 'spud_post_id', :counter_cache => :comments_count, :inverse_of => :comments
|
10
12
|
|
11
|
-
|
13
|
+
def visible?
|
14
|
+
return approved && !spam
|
15
|
+
end
|
12
16
|
|
17
|
+
private
|
13
18
|
|
14
19
|
def rakismet_check_for_spam
|
15
|
-
|
20
|
+
if self.spam?
|
21
|
+
self.spam = true
|
22
|
+
self.approved = false
|
23
|
+
else
|
24
|
+
self.spam = true
|
25
|
+
end
|
16
26
|
return true
|
17
27
|
end
|
18
28
|
|
@@ -1,4 +1,16 @@
|
|
1
|
-
<%= form_for @comment, :url => blog_post_path(@post) do |f| %>
|
1
|
+
<%= form_for @comment, :url => blog_post_path(@post.url_name, :anchor => 'comment_form') do |f| %>
|
2
|
+
|
3
|
+
<% if @comment.errors.any? %>
|
4
|
+
<div class="comment_error_list">
|
5
|
+
<h4>Please correct the following <%= pluralize(@comment.errors.count, "error") %>:</h4>
|
6
|
+
<ul>
|
7
|
+
<% @comment.errors.full_messages.each do |msg| %>
|
8
|
+
<li><%= msg %></li>
|
9
|
+
<% end %>
|
10
|
+
</ul>
|
11
|
+
</div>
|
12
|
+
<% end %>
|
13
|
+
|
2
14
|
<div>
|
3
15
|
<%= f.label :author %>
|
4
16
|
<%= f.text_field :author %>
|
@@ -18,21 +18,33 @@
|
|
18
18
|
<% @post_comments.each do |comment| %>
|
19
19
|
<tr>
|
20
20
|
<td><%= comment.author %></td>
|
21
|
-
<td>
|
21
|
+
<td width="400" class="blog-comment-content">
|
22
22
|
<span class='submitted-on'>Submitted: <%=timestamp(comment.created_at)%></span>
|
23
|
-
<%= comment.content %>
|
23
|
+
<%= truncate(comment.content, :length => 50) %>
|
24
|
+
<% if comment.content.length > 50 %>
|
25
|
+
<a href="#" class="blog-comment-content-toggle">Show/Hide</a>
|
26
|
+
<div class="blog-comment-content-hidden">
|
27
|
+
<%= comment.content %>
|
28
|
+
</div>
|
29
|
+
<% end %>
|
24
30
|
</td>
|
25
31
|
<td><%= link_to comment.post.title, blog_post_path(comment.post.url_name)%></td>
|
26
32
|
<td>
|
27
33
|
<% if comment.spam %>
|
28
34
|
Spam
|
29
|
-
<%
|
35
|
+
<% elsif comment.approved %>
|
30
36
|
Approved
|
37
|
+
<% else %>
|
38
|
+
Pending
|
31
39
|
<% end %>
|
32
40
|
</td>
|
33
41
|
<td align="right">
|
34
|
-
|
35
|
-
|
42
|
+
<% if !comment.approved %>
|
43
|
+
<%= link_to 'Approve', approve_spud_admin_post_comment_path(comment), :class => 'btn btn-success btn-small' %>
|
44
|
+
<% end %>
|
45
|
+
<% if !comment.spam %>
|
46
|
+
<%= link_to 'Spam', spam_spud_admin_post_comment_path(comment), :class => 'btn btn-warning btn-small' %>
|
47
|
+
<% end %>
|
36
48
|
<%= link_to 'Delete', spud_admin_post_comment_path(comment), :method => :delete, :confirm => 'Are you sure you want to delete this comment?', :class => 'btn btn-danger btn-small' %>
|
37
49
|
</td>
|
38
50
|
</tr>
|
@@ -43,5 +55,8 @@
|
|
43
55
|
<%= will_paginate @post_comments%>
|
44
56
|
</div>
|
45
57
|
|
58
|
+
<script>
|
59
|
+
$(document).ready(spud.admin.post_comments.index);
|
60
|
+
</script>
|
46
61
|
|
47
62
|
<%end%>
|
@@ -11,7 +11,7 @@
|
|
11
11
|
<th>Title</th>
|
12
12
|
<th>Author</th>
|
13
13
|
<th>Published At</th>
|
14
|
-
<th>Comments</th>
|
14
|
+
<th>Comments Pending</th>
|
15
15
|
<th> </th>
|
16
16
|
</tr>
|
17
17
|
</thead>
|
@@ -29,9 +29,8 @@
|
|
29
29
|
<td><%= post.author.full_name %></td>
|
30
30
|
<td><%= link_to(post.published_at.strftime('%m/%d/%Y'), blog_post_path(post.url_name)) %></td>
|
31
31
|
<td>
|
32
|
-
|
33
|
-
|
34
|
-
Spam: <%=link_to post.spam_comments.count, spud_admin_post_post_comments_path(:post_id => post.id) %>
|
32
|
+
<%= post.pending_comments.length %>
|
33
|
+
<%= link_to "Manage", spud_admin_post_post_comments_path(:post_id => post.id), :class => 'spud-post-comments-manage' %>
|
35
34
|
</td>
|
36
35
|
<td align="right">
|
37
36
|
<%= link_to 'Delete', spud_admin_post_path(post), :method => :delete, :confirm => 'Are you sure you want to delete this post?', :class => 'btn btn-danger' %>
|
@@ -6,7 +6,7 @@ module Spud
|
|
6
6
|
:news_enabled, :posts_per_page, :blog_path,
|
7
7
|
:news_path, :enable_sitemap, :has_custom_fields,
|
8
8
|
:cache_mode, :action_caching_duration,
|
9
|
-
:enable_rakismet, :enable_markdown
|
9
|
+
:enable_rakismet, :enable_markdown, :default_comment_approval
|
10
10
|
)
|
11
11
|
self.base_layout = 'application'
|
12
12
|
self.news_layout = nil
|
@@ -21,5 +21,6 @@ module Spud
|
|
21
21
|
self.action_caching_duration = 3600
|
22
22
|
self.enable_rakismet = false
|
23
23
|
self.enable_markdown = false
|
24
|
+
self.default_comment_approval = true
|
24
25
|
end
|
25
26
|
end
|
data/lib/spud_blog/version.rb
CHANGED
@@ -0,0 +1,43 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe BlogController, :type => :controller do
|
4
|
+
|
5
|
+
before(:all) do
|
6
|
+
|
7
|
+
end
|
8
|
+
|
9
|
+
describe :index do
|
10
|
+
it "should display a list of posts" do
|
11
|
+
2.times { |i| FactoryGirl.create(:spud_post) }
|
12
|
+
get :index
|
13
|
+
assigns(:posts).count.should be > 1
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
describe :create_comment do
|
18
|
+
it "should create a comment" do
|
19
|
+
@post = FactoryGirl.create(:spud_post)
|
20
|
+
post :create_comment, :id => @post.url_name, :spud_post_comment => {:author => "Test User", :content => "Lorem Ipsum"}
|
21
|
+
@post.comments.length.should be > 0
|
22
|
+
end
|
23
|
+
|
24
|
+
it "should approve a comment by default if default_comment_approval is true" do
|
25
|
+
Spud::Blog.configure do |config|
|
26
|
+
config.default_comment_approval = true
|
27
|
+
end
|
28
|
+
@post = FactoryGirl.create(:spud_post)
|
29
|
+
post :create_comment, :id => @post.url_name, :spud_post_comment => {:author => "Test User", :content => "Lorem Ipsum"}
|
30
|
+
@post.comments.first.approved.should be_true
|
31
|
+
end
|
32
|
+
|
33
|
+
it "should not approve a comment by default if default_comment_approval is false" do
|
34
|
+
Spud::Blog.configure do |config|
|
35
|
+
config.default_comment_approval = false
|
36
|
+
end
|
37
|
+
@post = FactoryGirl.create(:spud_post)
|
38
|
+
post :create_comment, :id => @post.url_name, :spud_post_comment => {:author => "Test User", :content => "Lorem Ipsum"}
|
39
|
+
@post.comments.first.approved.should be_false
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|