Skip to content

Commit

Permalink
[ci] Start testing Relationship
Browse files Browse the repository at this point in the history
Needs a cache store enabled. Hopefully memory_store behaves the same
as dalli_store...
  • Loading branch information
hennevogel committed Feb 25, 2016
1 parent bf67e0c commit b8d0edd
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/api/config/environments/test.rb
Expand Up @@ -23,7 +23,7 @@
# ActionMailer::Base.deliveries array.
config.action_mailer.delivery_method = :test

config.cache_store = :dalli_store, '127.0.0.1:11211', {namespace: ENV['CACHENAMESPACE'], expires_in: 1.hour }
config.cache_store = :memory_store

config.active_support.deprecation = :log

Expand Down
6 changes: 6 additions & 0 deletions src/api/spec/factories/project.rb
Expand Up @@ -14,5 +14,11 @@
project.packages << create(:package, project_id: project.id)
end
end

factory :forbidden_project do
after(:create) do |project|
create(:access_flag, status: 'disable', project: project)
end
end
end
end
50 changes: 50 additions & 0 deletions src/api/spec/models/relationship_spec.rb
@@ -0,0 +1,50 @@
require 'rails_helper'

RSpec.describe Relationship do
before(:all) do
@caching_state = ActionController::Base.perform_caching
ActionController::Base.perform_caching = true
end

after(:all) do
ActionController::Base.perform_caching = @caching_state
end

it '.add_user' do
skip
end

it '.add_group' do
skip
end

describe '.forbidden_project_ids' do
it 'always returns 0 for admins' do
User.current = create(:admin_user)

expect(Relationship.forbidden_project_ids).to eq([0])
end

it 'hides projects for users' do
User.current = create(:confirmed_user)
project = create(:forbidden_project)
create(:relationship, project: project, user: User.current)

User.current = create(:confirmed_user)
expect(Relationship.forbidden_project_ids).to include(project.id)
end

it 'shows projects for whitelisted users' do
project = create(:forbidden_project)
user = create(:confirmed_user)
create(:relationship, project: project, user: user)

User.current = user
expect(Relationship.forbidden_project_ids).not_to include(project.id)
end
end

it '.discard_cache' do
skip
end
end

0 comments on commit b8d0edd

Please sign in to comment.