AutoCommit Die Sep 1 10:03:01 CEST 2015

This commit is contained in:
Andreas Stephanides
2015-09-01 10:03:01 +02:00
parent 576b763d82
commit c1a7d9b7c2
7 changed files with 87 additions and 15 deletions

View File

@@ -78,3 +78,5 @@ class Fetprofile < ActiveRecord::Base
end end
end end

View File

@@ -2,3 +2,4 @@
<%= link_to fetprofile, {class: :linkbox} do %> <%= link_to fetprofile, {class: :linkbox} do %>
<%= render :partial=>"fetprofiles/compact", :locals=>{:fetprofile=>fetprofile} %> <%= render :partial=>"fetprofiles/compact", :locals=>{:fetprofile=>fetprofile} %>
<% end %> <% end %>
<%= root_path() %>

View File

@@ -51,6 +51,7 @@ end
<%= @fetprofile.desc %> <%= @fetprofile.desc %>
</p> </p>
<%= render partial: "interninfo", object: @fetprofile if can?(:seeintern, @fetprofile) %> <%= render partial: "interninfo", object: @fetprofile if can?(:seeintern, @fetprofile) %>
<ul> <ul>
<% @memberships.each do |m| %> <% @memberships.each do |m| %>
<li> <li>

View File

@@ -8,7 +8,15 @@
resources :comments, contstraints: {id: /[0-9]+/}, only: :show resources :comments, contstraints: {id: /[0-9]+/}, only: :show
## Inserted for testing tests
resources :members , controller: :fetprofiles , as: :fetprofiles do
collection do
get 'verwalten'
get 'internlist'
end
end
# #-------------------------
namespace :survey do namespace :survey do
resources :questions do resources :questions do
@@ -130,12 +138,12 @@ end
get 'verwalten' get 'verwalten'
end end
end end
resources :fetprofiles, as: :fetprofiles_bak do # resources :fetprofiles, as: :fetprofiles_bak do
collection do # collection do
get 'verwalten' # get 'verwalten'
get 'internlist' # get 'internlist'
end # end
end # end
resources :members , controller: :fetprofiles , as: :fetprofiles do resources :members , controller: :fetprofiles , as: :fetprofiles do
collection do collection do
get 'verwalten' get 'verwalten'

View File

@@ -14,6 +14,9 @@ Dir[Rails.root.join("spec/controllers/shared_examples/**/*.rb")].each {|f| requi
RSpec.configure do |config| RSpec.configure do |config|
config.include Devise::TestHelpers, :type => :controller config.include Devise::TestHelpers, :type => :controller
config.extend ControllerMacros, :type => :controller config.extend ControllerMacros, :type => :controller
config.include Devise::TestHelpers, :type => :view
config.include RSpecHtmlMatchers, :type => :view
end end

View File

@@ -1,8 +1,10 @@
require 'spec_helper' require 'spec_helper'
describe "fetprofiles/show", :type => :view do describe "fetprofiles/_fetprofile", :type => :view do
include RSpecHtmlMatchers include RSpecHtmlMatchers
before(:each) do include Devise::TestHelpers
include Rails.application.routes.url_helpers
before(:each) do
# @fetprofile = # @fetprofile =
#assign(:fetprofile, stub_model(Fetprofile, FactoryGirl.attributes_for(:fetprofile))) #assign(:fetprofile, stub_model(Fetprofile, FactoryGirl.attributes_for(:fetprofile)))
default_url_options[:locale] = :de default_url_options[:locale] = :de
@@ -10,8 +12,20 @@ describe "fetprofiles/show", :type => :view do
# assign(:fetprofile,@fetprofile) # assign(:fetprofile,@fetprofile)
# assign(:memberships, []) # assign(:memberships, [])
end end
it "has access to url_helpers" do
expect(fetprofile_path(@fetprofile,locale: "de",theme: nil)).to match /#{@fetprofile.id}/
end
it "has access to url_helpers without setting nil params" do
expect(fetprofile_path(@fetprofile)).to match /#{@fetprofile.id}/
end
it "renders a link" do it "renders a link" do
render partial: "fetprofiles/fetprofile" allow(view).to receive(:default_url_options).and_return({locale: "de"})
# allow(view).to receive(:fetprofile_path).and_return("")
# view.stub!(:fetprofile_path).and_return("path")
render partial: "fetprofiles/fetprofile", locals: {fetprofile: @fetprofile}
expect(rendered).to have_tag("a.linkbox") expect(rendered).to have_tag("a.linkbox")
end end
end end

View File

@@ -1,22 +1,41 @@
require 'spec_helper' require 'spec_helper'
describe "fetprofiles/show", :type => :view do describe "fetprofiles/show", :type => :view do
include RSpecHtmlMatchers # include RSpecHtmlMatchers
before(:each) do before(:each) do
# @fetprofile = # @fetprofile =
#assign(:fetprofile, stub_model(Fetprofile, FactoryGirl.attributes_for(:fetprofile))) #assign(:fetprofile, stub_model(Fetprofile, FactoryGirl.attributes_for(:fetprofile)))
default_url_options[:locale] = :de default_url_options[:locale] = :de
@fetprofile = FactoryGirl.create(:fetprofile) @fetprofile = FactoryGirl.create(:fetprofile,:street => "secret adress")
assign(:fetprofile,@fetprofile) assign(:fetprofile,@fetprofile)
assign(:memberships, []) assign(:memberships, [])
assign(:gremientabs, [])
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)
sign_in user
end
end end
it "renders attributes in <p>" do it "renders public attributes" do
render render
# Run the generator again with the --webrat flag if you want to use webrat matchers # Run the generator again with the --webrat flag if you want to use webrat matchers
puts rendered # puts rendered
# expect(rendered).to include_text @fetprofile.vorname 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') expect(rendered).to have_tag('div')
# rendered.should match(/Nachname/) # rendered.should match(/Nachname/)
# rendered.should match(/Short/) # rendered.should match(/Short/)
# rendered.should match(/Fetmailalias/) # rendered.should match(/Fetmailalias/)
@@ -24,4 +43,28 @@ describe "fetprofiles/show", :type => :view do
# rendered.should match(/false/) # rendered.should match(/false/)
end end
it "doesn't render secrets" do
render
expect(rendered).not_to match(/#{@fetprofile.street}/)
end
describe "with fet user" do
login_fet_user
it "can see intern" do
@ability = Object.new
@ability.extend(CanCan::Ability)
controller.stub(:current_ability) { @ability }
allow(view).to receive(:current_ability).and_return(@ability)
# view.stub!(:current_ability).and_return(@ability)
expect(current_ability.can?(:seeintern,@fetprofile)).to be true
end
it "renders secrets" do
@ability.can(:seeintern,@fetprofile)
allow(view).to receive(:current_ability).and_return(@ability)
expect(rendered).to match(/#{@fetprofile.street}/)
end
end
end end