mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2024-11-13 04:36:00 +08:00
78 lines
3.2 KiB
Ruby
78 lines
3.2 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'rails_helper'
|
|
|
|
describe MyModuleRepositoriesController, type: :controller do
|
|
include PermissionExtends
|
|
|
|
it_behaves_like "a controller with authentication", {
|
|
index_dt: { my_module_id: 1, id: 1 },
|
|
update: { my_module_id: 1, id: 1 },
|
|
update_repository_records_modal: { my_module_id: 1, id: 1 },
|
|
assign_repository_records_modal: { my_module_id: 1, id: 1 },
|
|
repositories_list_html: { my_module_id: 1 },
|
|
full_view_table: { my_module_id: 1, id: 1 },
|
|
repositories_dropdown_list: { my_module_id: 1 },
|
|
export_repository: { my_module_id: 1, id: 1 },
|
|
consume_modal: { my_module_id: 1, id: 1 },
|
|
update_consumption: { my_module_id: 1, id: 1 }
|
|
}, []
|
|
|
|
login_user
|
|
|
|
describe 'permissions checking' do
|
|
include_context 'reference_project_structure'
|
|
|
|
let(:repository) { create :repository, team: team, created_by: user }
|
|
let (:repository_row) { create :repository_row, repository: repository, created_by: user, last_modified_by: user }
|
|
|
|
|
|
it_behaves_like "a controller action with permissions checking", :get, :index_dt do
|
|
let(:testable) { my_module }
|
|
let(:permissions) { [MyModulePermissions::READ] }
|
|
let(:action_params) { { my_module_id: my_module.id, id: repository.id } }
|
|
end
|
|
|
|
it_behaves_like "a controller action with permissions checking", :put, :update do
|
|
let(:testable) { my_module }
|
|
let(:permissions) { [MyModulePermissions::REPOSITORY_ROWS_ASSIGN] }
|
|
let(:action_params) { { my_module_id: my_module.id, id: repository.id, rows_to_assign: [repository_row.id] } }
|
|
end
|
|
|
|
it_behaves_like "a controller action with permissions checking", :get, :update_repository_records_modal do
|
|
let(:testable) { my_module }
|
|
let(:permissions) { [MyModulePermissions::READ] }
|
|
let(:action_params) { { my_module_id: my_module.id, id: repository.id } }
|
|
end
|
|
|
|
it_behaves_like "a controller action with permissions checking", :get, :assign_repository_records_modal do
|
|
let(:testable) { my_module }
|
|
let(:permissions) { [MyModulePermissions::READ] }
|
|
let(:action_params) { { my_module_id: my_module.id, id: repository.id } }
|
|
end
|
|
|
|
it_behaves_like "a controller action with permissions checking", :get, :repositories_list_html do
|
|
let(:testable) { my_module }
|
|
let(:permissions) { [MyModulePermissions::READ] }
|
|
let(:action_params) { { my_module_id: my_module.id } }
|
|
end
|
|
|
|
it_behaves_like "a controller action with permissions checking", :get, :full_view_table do
|
|
let(:testable) { my_module }
|
|
let(:permissions) { [MyModulePermissions::READ] }
|
|
let(:action_params) { { my_module_id: my_module.id, id: repository.id } }
|
|
end
|
|
|
|
it_behaves_like "a controller action with permissions checking", :get, :repositories_dropdown_list do
|
|
let(:testable) { my_module }
|
|
let(:permissions) { [MyModulePermissions::READ] }
|
|
let(:action_params) { { my_module_id: my_module.id } }
|
|
end
|
|
|
|
it_behaves_like "a controller action with permissions checking", :post, :export_repository do
|
|
let(:testable) { my_module }
|
|
let(:permissions) { [MyModulePermissions::READ] }
|
|
let(:action_params) { { my_module_id: my_module.id, id: repository.id } }
|
|
end
|
|
end
|
|
end
|