require 'spec_helper' #ActionView.lookup_context.prefixes = ['app/views/themes/blue2'] # ActionView.any_instance.stub!(:view_paths).and_return([ 'app/views/themes/blue2']) describe "fetprofiles/show", :type => :view do ["blue2"].each do |theme| describe "theme #{theme}" do before(:each) do view.view_paths=[ "app/views/themes/#{theme}", "app/views"] end before(:each) do default_url_options[:locale] = :de @fetprofile = FactoryGirl.create(:fetprofile_withadress) assign(:fetprofile,@fetprofile) assign(:memberships, []) assign(:gremientabs, []) # view.theme "blue2" end def self.login_fet_user before(:each) do @request.env["devise.mapping"] = Devise.mappings[:user] user = FactoryGirl.build(:user) user = User.find_by_email(user.email) || user user.save user.add_role(:fetuser) # user.confirm! @user=user @ability= Ability.new(@user) # controller.stub(:current_ability) { @ability } allow(view).to receive(:current_ability).and_return(@ability) sign_in user end end it "has working filters" do expect(true).to be true end it "calls vorname on fetprofile" do expect(@fetprofile).to receive(:vorname).at_least(1).times render end it "doesn't call users" do Fetprofile.any_instance.should_not_receive(:users) # expect(Fetprofile.any_instance).to receive(:vorname) render end it "doesn't call memberships" do Fetprofile.any_instance.should_not_receive(:memberships) render end it "doesn't call gremien" do Fetprofile.any_instance.should_not_receive(:gremien) render end it "renders public attributes" do render expect(rendered).to match(/#{@fetprofile.vorname}/) expect(rendered).to match(/#{@fetprofile.nachname}/) expect(rendered).to match(/#{@fetprofile.desc}/) expect(rendered).to match(/#{@fetprofile.fetmail}/) expect(rendered).to have_tag('div') # rendered.should match(/Nachname/) # rendered.should match(/Short/) # rendered.should match(/Fetmailalias/) # rendered.should match(/MyText/) # rendered.should match(/false/) end it "doesn't render address" do render expect(rendered).not_to match(/#{@fetprofile.street}/) expect(rendered).not_to match(/#{@fetprofile.city}/) expect(rendered).not_to match(/#{@fetprofile.hdynr}/) expect(rendered).not_to match(/#{@fetprofile.telnr}/) expect(rendered).not_to match(/#{@fetprofile.plz}/) end describe "with fet user" do login_fet_user # let(:current_ability) {@ability} it "renders address" do render expect(rendered).to match(/#{@fetprofile.street}/) expect(rendered).to match(/#{@fetprofile.plz}/) expect(rendered).to match(/#{@fetprofile.city}/) expect(rendered).to match(/#{@fetprofile.hdynr}/) expect(rendered).to match(/#{@fetprofile.telnr}/) end it "renders edit path" do render expect(rendered).to match(/#{edit_fetprofile_path(@fetprofile)}/) end end end end end