forst neuigkeit controller spec

This commit is contained in:
2019-01-07 23:32:23 +01:00
parent 1b065cd3f0
commit fea219ba92
2 changed files with 74 additions and 1 deletions

View File

@@ -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

View 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