added tag subscription functional test

This commit is contained in:
albert
2011-01-31 01:55:40 -05:00
parent c0968ec5e3
commit 9837735c93
7 changed files with 71 additions and 7 deletions

View File

@@ -15,7 +15,7 @@ class TagSubscriptionsController < ApplicationController
end
def index
@search = TagSubscription.search(params[:search]).visible
@search = TagSubscription.visible.search(params[:search])
@tag_subscriptions = @search.paginate(:page => params[:page])
respond_with(@tag_subscriptions)
end

View File

View File

@@ -1321,7 +1321,7 @@ CREATE TABLE tag_subscriptions (
name character varying(255) NOT NULL,
tag_query character varying(255) NOT NULL,
post_ids text NOT NULL,
is_visible_on_profile boolean DEFAULT true NOT NULL,
is_public boolean DEFAULT true NOT NULL,
created_at timestamp without time zone,
updated_at timestamp without time zone
);

View File

@@ -1,5 +1,4 @@
Factory.define(:tag_subscription) do |f|
f.owner {|x| x.association(:user)}
f.name {Faker::Lorem.words.join(" ")}
f.is_visible_on_profile true
f.is_public true
end

View File

@@ -1,8 +1,73 @@
require 'test_helper'
class TagSubscriptionsControllerTest < ActionController::TestCase
# Replace this with your real tests.
test "the truth" do
assert true
context "The tag subscriptions 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 "index action" do
setup do
@tag_subscription = Factory.create(:tag_subscription, :name => "aaa", :owner => @user)
end
should "list all visible tag subscriptions" do
get :index
assert_response :success
end
context "with search conditions" do
should "list all matching forum posts" do
get :index, {:search => {:name_equals => "aaa"}}
assert_response :success
assert_equal(1, assigns(:tag_subscriptions).size)
end
end
end
context "edit action" do
setup do
@tag_subscription = Factory.create(:tag_subscription, :owner => @user)
end
should "render" do
get :edit, {:id => @tag_subscription.id}, {:user_id => @user.id}
assert_response :success
end
end
context "new action" do
should "render" do
get :new, {}, {:user_id => @user.id}
assert_response :success
end
end
context "create action" do
should "create a new tag subscription" do
assert_difference("TagSubscription.count", 1) do
post :create, {:tag_subscription => {:name => "aaa", :tag_query => "bbb"}}, {:user_id => @user.id}
end
end
end
context "destroy action" do
setup do
@tag_subscription = Factory.create(:tag_subscription)
end
should "destroy the posts" do
assert_difference("TagSubscription.count", -1) do
post :destroy, {:id => @tag_subscription.id}, {:user_id => @user.id}
end
end
end
end
end