This commit is contained in:
r888888888
2013-09-12 15:20:20 -07:00
parent 19d886af01
commit e127e8b6f2
2 changed files with 28 additions and 3 deletions

View File

@@ -3,6 +3,7 @@ require 'test_helper'
class WikiPageTest < ActiveSupport::TestCase
setup do
MEMCACHE.flush_all
CurrentUser.ip_addr = "127.0.0.1"
end
teardown do
@@ -11,11 +12,28 @@ class WikiPageTest < ActiveSupport::TestCase
end
context "A wiki page" do
context "that is locked" do
should "not be editable by a member" do
CurrentUser.user = FactoryGirl.create(:janitor_user)
@wiki_page = FactoryGirl.create(:wiki_page, :is_locked => true)
CurrentUser.user = FactoryGirl.create(:user)
@wiki_page.update_attributes(:body => "hello")
assert_equal(["Is locked and cannot be updated"], @wiki_page.errors.full_messages)
end
should "be editable by a janitor" do
CurrentUser.user = FactoryGirl.create(:janitor_user)
@wiki_page = FactoryGirl.create(:wiki_page, :is_locked => true)
CurrentUser.user = FactoryGirl.create(:janitor_user)
@wiki_page.update_attributes(:body => "hello")
assert_equal([], @wiki_page.errors.full_messages)
end
end
context "updated by a janitor" do
setup do
@user = FactoryGirl.create(:janitor_user)
CurrentUser.user = @user
CurrentUser.ip_addr = "127.0.0.1"
@wiki_page = FactoryGirl.create(:wiki_page)
end
@@ -30,13 +48,12 @@ class WikiPageTest < ActiveSupport::TestCase
setup do
@user = FactoryGirl.create(:user)
CurrentUser.user = @user
CurrentUser.ip_addr = "127.0.0.1"
@wiki_page = FactoryGirl.create(:wiki_page, :title => "HOT POTATO")
end
should "not allow the is_locked attribute to be updated" do
@wiki_page.update_attributes(:is_locked => true)
assert_equal(["Is locked can be modified by janitors only"], @wiki_page.errors.full_messages)
assert_equal(["Is locked can be modified by janitors only", "Is locked and cannot be updated"], @wiki_page.errors.full_messages)
@wiki_page.reload
assert_equal(false, @wiki_page.is_locked?)
end