46 lines
1.2 KiB
Ruby
46 lines
1.2 KiB
Ruby
require 'test_helper'
|
|
|
|
class DisabledContractsModuleTest < ActionController::IntegrationTest
|
|
context "on a project with the Contracts module disabled" do
|
|
setup do
|
|
@project = Project.generate!
|
|
@project.enabled_modules.find_by_name('contracts').destroy
|
|
@project.reload
|
|
assert !@project.module_enabled?(:contracts), "Contracts enabled on project"
|
|
|
|
@user = User.generate_user_with_permission_to_manage_budget(:project => @project)
|
|
login_as(@user.login, 'contracts')
|
|
end
|
|
|
|
should "not show the menu item" do
|
|
visit_project(@project)
|
|
|
|
assert_select "#main-menu" do
|
|
assert_select 'a', :text => /contracts/i, :count => 0
|
|
end
|
|
end
|
|
|
|
should "block access to list" do
|
|
visit "/projects/#{@project.identifier}/contracts"
|
|
assert_forbidden
|
|
end
|
|
|
|
should "block access to new" do
|
|
visit "/projects/#{@project.identifier}/contracts/new"
|
|
assert_forbidden
|
|
end
|
|
|
|
should "block access to show" do
|
|
visit "/projects/#{@project.identifier}/contracts/1"
|
|
assert_forbidden
|
|
end
|
|
|
|
should "block access to edit" do
|
|
visit "/projects/#{@project.identifier}/contracts/1/edit"
|
|
assert_forbidden
|
|
end
|
|
|
|
end
|
|
|
|
end
|