#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