diff --git a/app/controllers/post_appeals_controller_test.rb b/app/controllers/post_appeals_controller_test.rb new file mode 100644 index 000000000..e69de29bb diff --git a/app/views/post_flags/index.html.erb b/app/views/post_flags/index.html.erb new file mode 100644 index 000000000..83d2ae98a --- /dev/null +++ b/app/views/post_flags/index.html.erb @@ -0,0 +1,22 @@ +
+
+ + + + + + + + + + <% @post_flags.each do |post_flag| %> + + + + + + <% end %> + +
PostCreatorReason
<%= PostPresenter.preview(post_flag.post) %><%= link_to post_flag.creator.name, user_path(post_flag.creator) %><%= format_text post_flag.reason %>
+
+
\ No newline at end of file diff --git a/test/factories/post_appeal.rb b/test/factories/post_appeal.rb new file mode 100644 index 000000000..6e1465a2f --- /dev/null +++ b/test/factories/post_appeal.rb @@ -0,0 +1,3 @@ +Factory.define(:post_appeal) do |f| + f.reason "xxx" +end diff --git a/test/factories/post_flag.rb b/test/factories/post_flag.rb new file mode 100644 index 000000000..160b62df8 --- /dev/null +++ b/test/factories/post_flag.rb @@ -0,0 +1,3 @@ +Factory.define(:post_flag) do |f| + f.reason "xxx" +end \ No newline at end of file diff --git a/test/functional/post_flags_controller_test.rb b/test/functional/post_flags_controller_test.rb new file mode 100644 index 000000000..2165e7122 --- /dev/null +++ b/test/functional/post_flags_controller_test.rb @@ -0,0 +1,56 @@ +require 'test_helper' + +class PostFlagsControllerTest < ActionController::TestCase + context "The post flags controller" do + setup do + @user = Factory.create(:user) + CurrentUser.user = @user + CurrentUser.ip_addr = "127.0.0.1" + end + + teardown do + CurrentUser.user = nil + CurrentUser.ip_addr = nil + end + + context "new action" do + should "render" do + get :new, {}, {:user_id => @user.id} + assert_response :success + end + end + + context "index action" do + setup do + @post = Factory.create(:post) + @post_flag = Factory.create(:post_flag, :post => @post) + end + + should "render" do + get :index, {}, {:user_id => @user.id} + assert_response :success + end + + context "with search parameters" do + should "render" do + get :index, {:search => {:post_id_equals => @post_flag.post_id}}, {:user_id => @user.id} + assert_response :success + end + end + end + + context "create action" do + setup do + @post = Factory.create(:post) + end + + should "create a new flag" do + assert_difference("PostFlag.count", 1) do + post :create, {:format => "js", :post_flag => {:post_id => @post.id, :reason => "xxx"}}, {:user_id => @user.id} + assert_not_nil(assigns(:post_flag)) + assert_equal([], assigns(:post_flag).errors.full_messages) + end + end + end + end +end