forked from bofh/fetsite
forst neuigkeit controller spec
This commit is contained in:
@@ -161,8 +161,26 @@ end
|
|||||||
resources :fragen, :only =>[:new, :edit, :update, :destroy, :create]
|
resources :fragen, :only =>[:new, :edit, :update, :destroy, :create]
|
||||||
|
|
||||||
|
|
||||||
resources :neuigkeiten, :only => [:show] , constraints: {id: /\d+/i}
|
resources :neuigkeiten, :only => [:show] , constraints: {id: /\d+/i} do
|
||||||
|
member do
|
||||||
|
get 'publish'
|
||||||
|
get 'unpublish'
|
||||||
|
get 'add_calentry'
|
||||||
|
get 'rm_calentry'
|
||||||
|
get 'create_link'
|
||||||
|
get 'delete_link'
|
||||||
|
get 'find_link'
|
||||||
|
get 'publish_to_facebook'
|
||||||
|
get 'mail_to_fet'
|
||||||
|
get 'mail_preview'
|
||||||
|
get 'flag'
|
||||||
|
end
|
||||||
|
collection do
|
||||||
|
get 'newsletter_preview'
|
||||||
|
end
|
||||||
|
end
|
||||||
get "neuigkeiten", controller: :rubriken, action: :index, as: "neuigkeiten"
|
get "neuigkeiten", controller: :rubriken, action: :index, as: "neuigkeiten"
|
||||||
|
|
||||||
resources :rubriken do
|
resources :rubriken do
|
||||||
collection do
|
collection do
|
||||||
get 'verwalten' , :action => :alle_verwalten
|
get 'verwalten' , :action => :alle_verwalten
|
||||||
|
|||||||
55
spec/controllers/neuigkeiten_controller_spec.rb
Normal file
55
spec/controllers/neuigkeiten_controller_spec.rb
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
#require 'rails_helper'
|
||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
RSpec.describe NeuigkeitenController, :type => :controller do
|
||||||
|
let(:rubrik) {FactoryGirl.create(:rubrik, public:true)}
|
||||||
|
let(:intern_rubrik) {FactoryGirl.create(:rubrik, public:false, name: "InternRubrik")}
|
||||||
|
let(:user) {FactoryGirl.create(:user)}
|
||||||
|
let(:fet_user) do
|
||||||
|
user=FactoryGirl.create(:user)
|
||||||
|
user.add_role(:fetadmin)
|
||||||
|
end
|
||||||
|
|
||||||
|
let(:neuigkeit) {(FactoryGirl.create(:neuigkeit, rubrik_id: rubrik.id, author_id: user.id, datum: 4.hours.ago))}
|
||||||
|
let(:intern_neuigkeit) {(FactoryGirl.create(:neuigkeit, rubrik_id: intern_rubrik.id, author_id: user.id, datum: 4.hours.ago))}
|
||||||
|
let(:valid_session) { {current_user: fet_user} }
|
||||||
|
let(:public_session){{}}
|
||||||
|
|
||||||
|
describe "GET #show" do
|
||||||
|
it "render show template" do
|
||||||
|
get :show, {id: neuigkeit.id}, public_session
|
||||||
|
expect(response).to have_http_status(200)
|
||||||
|
expect(response).to render_template(:show)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "denys access to unpublished news" do
|
||||||
|
neuigkeit.datum=5.hours.from_now
|
||||||
|
neuigkeit.save!
|
||||||
|
get :show, {id: neuigkeit.id}, public_session
|
||||||
|
expect(response).to have_http_status(302)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "denys access to intern news" do
|
||||||
|
get :show, {id: intern_neuigkeit.id}, public_session
|
||||||
|
expect(response).to have_http_status(302)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "assignes neuigkeit" do
|
||||||
|
|
||||||
|
get :show, {id: neuigkeit.id }, public_session
|
||||||
|
expect(assigns(:neuigkeit)).to eq(neuigkeit)
|
||||||
|
end
|
||||||
|
describe "GET #show view contents" do
|
||||||
|
|
||||||
|
render_views
|
||||||
|
it "renders the name of the neuigkeit" do
|
||||||
|
get :show, {id: neuigkeit.id} , public_session
|
||||||
|
expect(response.body).to match neuigkeit.name
|
||||||
|
end
|
||||||
|
it "has linkes to external rubrik" do
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user