0
+require File.dirname(__FILE__) + "/../spec_helper"
0
+ Page.create(:title => "hee haw", :body => "moop", :site_id => 1)
0
+describe PagesController, " with site that requires login, a user not logged in" do
0
+ fixtures :sites, :pages, :page_versions, :users
0
+ controller.stub!(:logged_in?).and_return false
0
+ controller.stub!(:current_user).and_return :false
0
+ it "does not render 'new'" do
0
+ response.should redirect_to('session/new')
0
+ it "renders 'revision'" do
0
+ get :revision, :id => page.permalink, :version => page.version - 1
0
+ response.should be_success
0
+ response.should render_template("revision")
0
+ it "searches for pages" do
0
+ get :search, :query => "home"
0
+ response.should be_success
0
+ it "can not lock a page" do
0
+ get :lock, :id => 'hai'
0
+ response.should redirect_to('session/new')
0
+ it "can not rollback a page" do
0
+ current_version = page.version
0
+ get :rollback, :id => page.permalink, :version => 1
0
+ response.should redirect_to('session/new')
0
+ page.version.should be == current_version
0
+ it "can not edit a page" do
0
+ post :update, :id => page.permalink, :page => {:body => "hehehe"}
0
+ response.should redirect_to('session/new')
0
+ end.should_not change(page, :body)
0
+ it "can not create a page" do
0
+ post :create, :page => { :site_id => 1, :title => "o hai", :body => "meeg000!!" }
0
+ response.should redirect_to('session/new')
0
+ end.should_not change(Page, :count)
0
+describe PagesController, " with site that does not require login, a user not logged in" do
0
+ fixtures :sites, :pages, :page_versions, :users
0
+ site = Site.find(:first)
0
+ site.require_login_to_post = false
0
+ controller.stub!(:logged_in?).and_return false
0
+ controller.stub!(:current_user).and_return :false
0
+ response.should be_success
0
+ it "can rollback a page" do
0
+ current_version = page.version
0
+ get :rollback, :id => page.permalink, :version => 1
0
+ response.should redirect_to(page.permalink)
0
+ page.version.should be < current_version
0
+ it "can edit a page" do
0
+ post :update, :id => page.permalink, :page => {:body => "hehehe"}
0
+ response.should redirect_to(page.permalink)
0
+ end.should change(page, :body)
0
+ it "can create a page" do
0
+ post :create, :page => { :site_id => 1, :title => "o hai", :body => "meeg000!!" }
0
+ response.should redirect_to('o-hai')
0
+ end.should change(Page, :count)
0
+describe PagesController, "a user logged in as normal user" do
0
+ fixtures :sites, :pages, :page_versions, :users
0
+ controller.stub!(:require_login)
0
+ controller.stub!(:logged_in?).and_return true
0
+ controller.stub!(:current_user).and_return users(:jeremy)
0
+ response.should be_success
0
+ response.should render_template("new")
0
+ it "renders 'revision'" do
0
+ get :revision, :id => page.permalink, :version => page.version - 1
0
+ response.should be_success
0
+ response.should render_template("revision")
0
+ it "searches for pages" do
0
+ get :search, :query => "home"
0
+ response.should be_success
0
+ it "can edit a page" do
0
+ post :update, :id => page.permalink, :page => {:body => "hehehe"}
0
+ response.should redirect_to(page.permalink)
0
+ end.should change(page, :body)
0
+ it "can create a page" do
0
+ post :create, :page => { :site_id => 1, :title => "o hai", :body => "meeg000!!" }
0
+ response.should redirect_to('o-hai')
0
+ end.should change(Page, :count)
0
+ it "can rollback a page" do
0
+ page = Page.create(:title => "hee haw", :body => "moop", :site_id => 1)
0
+ current_version = page.version
0
+ get :rollback, :id => page.permalink, :version => 1
0
+ response.should redirect_to(page.permalink)
0
+ page.version.should be < current_version
0
+ it "can not lock a page" do
0
+ get :lock, :id => 'hai'
0
+ response.should redirect_to('pages/home')
0
+describe PagesController, "a user logged in as admin" do
0
+ fixtures :sites, :pages, :page_versions, :users
0
+ controller.stub!(:require_login)
0
+ controller.stub!(:logged_in?).and_return true
0
+ controller.stub!(:current_user).and_return users(:admin)
0
+ response.should be_success
0
+ response.should render_template("new")
0
+ it "renders 'revision'" do
0
+ get :revision, :id => page.permalink, :version => page.version - 1
0
+ response.should be_success
0
+ response.should render_template("revision")
0
+ it "searches for pages" do
0
+ get :search, :query => "home"
0
+ response.should be_success
0
+ it "can edit a page" do
0
+ post :update, :id => page.permalink, :page => {:body => "hehehe"}
0
+ response.should redirect_to(page.permalink)
0
+ end.should change(page, :body)
0
+ it "can create a page" do
0
+ post :create, :page => { :site_id => 1, :title => "o hai", :body => "meeg000!!" }
0
+ response.should redirect_to('o-hai')
0
+ end.should change(Page, :count)
0
+ it "can rollback a page" do
0
+ page = Page.create(:title => "hee haw", :body => "moop", :site_id => 1)
0
+ current_version = page.version
0
+ get :rollback, :id => page.permalink, :version => 1
0
+ response.should redirect_to(page.permalink)
0
+ page.version.should be < current_version
0
+ it "can lock a page" do
0
+ get :lock, :id => 'hai'
0
+ response.should redirect_to('hai')
0
+ it "can unlock a page" do
0
+ get :lock, :id => page.permalink
0
+ page.should_not be_locked
Comments
No one has commented yet.