arpa 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.rubocop.yml +17 -0
- data/.ruby-version +1 -1
- data/.travis.yml +5 -0
- data/CHANGELOG.md +4 -0
- data/README.md +4 -4
- data/Rakefile +1 -2
- data/arpa.gemspec +17 -18
- data/lib/arpa.rb +65 -67
- data/lib/arpa/additions/resource.rb +0 -2
- data/lib/arpa/data_mappers/action_mapper.rb +1 -2
- data/lib/arpa/data_mappers/base.rb +15 -16
- data/lib/arpa/data_mappers/profile_mapper.rb +3 -4
- data/lib/arpa/data_mappers/resource_mapper.rb +1 -1
- data/lib/arpa/data_mappers/role_mapper.rb +2 -2
- data/lib/arpa/entities/action.rb +0 -2
- data/lib/arpa/entities/profile.rb +2 -3
- data/lib/arpa/entities/resource.rb +4 -6
- data/lib/arpa/entities/role.rb +2 -3
- data/lib/arpa/exceptions/record_invalid.rb +0 -1
- data/lib/arpa/repositories/actions/creator.rb +0 -1
- data/lib/arpa/repositories/actions/finder.rb +5 -6
- data/lib/arpa/repositories/actions/remover.rb +0 -1
- data/lib/arpa/repositories/actions/repository_action.rb +1 -2
- data/lib/arpa/repositories/base.rb +0 -2
- data/lib/arpa/repositories/profiles/creator.rb +0 -1
- data/lib/arpa/repositories/profiles/finder.rb +2 -3
- data/lib/arpa/repositories/profiles/remover.rb +0 -1
- data/lib/arpa/repositories/profiles/repository_profile.rb +1 -2
- data/lib/arpa/repositories/profiles/updater.rb +0 -1
- data/lib/arpa/repositories/registrator.rb +5 -10
- data/lib/arpa/repositories/resources/creator.rb +0 -1
- data/lib/arpa/repositories/resources/finder.rb +0 -1
- data/lib/arpa/repositories/resources/remover.rb +0 -1
- data/lib/arpa/repositories/resources/repository_resource.rb +1 -2
- data/lib/arpa/repositories/roles/creator.rb +0 -1
- data/lib/arpa/repositories/roles/finder.rb +0 -1
- data/lib/arpa/repositories/roles/remover.rb +0 -1
- data/lib/arpa/repositories/roles/repository_role.rb +1 -2
- data/lib/arpa/repositories/roles/updater.rb +0 -1
- data/lib/arpa/services/actions/create/action_creator.rb +1 -3
- data/lib/arpa/services/actions/remove/action_remover.rb +0 -2
- data/lib/arpa/services/base.rb +6 -10
- data/lib/arpa/services/profiles/create/profile_creator.rb +0 -2
- data/lib/arpa/services/profiles/profile_manager_creator.rb +0 -1
- data/lib/arpa/services/profiles/profile_manager_remover.rb +0 -1
- data/lib/arpa/services/profiles/profile_manager_updater.rb +0 -1
- data/lib/arpa/services/profiles/remove/profile_remover.rb +0 -2
- data/lib/arpa/services/profiles/update/profile_updater.rb +0 -2
- data/lib/arpa/services/resources/create/resource_creator.rb +0 -2
- data/lib/arpa/services/resources/remove/resource_remover.rb +1 -4
- data/lib/arpa/services/resources/resource_manager_creator.rb +1 -2
- data/lib/arpa/services/roles/create/role_creator.rb +0 -3
- data/lib/arpa/services/roles/remove/role_remover.rb +0 -2
- data/lib/arpa/services/roles/role_manager_creator.rb +0 -2
- data/lib/arpa/services/roles/role_manager_remover.rb +0 -1
- data/lib/arpa/services/roles/role_manager_updater.rb +0 -1
- data/lib/arpa/services/roles/update/role_updater.rb +0 -2
- data/lib/arpa/services/verifier.rb +0 -1
- data/lib/arpa/validators/action_validator.rb +0 -1
- data/lib/arpa/validators/profile_validator.rb +0 -1
- data/lib/arpa/validators/resource_validator.rb +0 -1
- data/lib/arpa/validators/role_validator.rb +0 -2
- data/lib/arpa/version.rb +1 -1
- data/lib/generators/arpa/controllers_generator.rb +21 -22
- data/lib/generators/arpa/install_generator.rb +5 -6
- data/lib/generators/arpa/templates/controllers/profiles_controller.rb +31 -37
- data/lib/generators/arpa/templates/controllers/resources_controller.rb +20 -11
- data/lib/generators/arpa/templates/controllers/roles_controller.rb +31 -37
- data/lib/generators/arpa/templates/migration.rb +1 -1
- data/spec/factories/repository_actions.rb +4 -5
- data/spec/factories/repository_profiles.rb +4 -5
- data/spec/factories/repository_resources.rb +1 -3
- data/spec/factories/repository_roles.rb +2 -3
- data/spec/factories/repository_test.rb +1 -1
- data/spec/lib/arpa/additions/resource_spec.rb +8 -6
- data/spec/lib/arpa/data_mappers/action_mapper_spec.rb +1 -3
- data/spec/lib/arpa/data_mappers/base_spec.rb +0 -2
- data/spec/lib/arpa/data_mappers/profile_mapper_spec.rb +1 -3
- data/spec/lib/arpa/data_mappers/resource_mapper_spec.rb +1 -3
- data/spec/lib/arpa/data_mappers/role_mapper_spec.rb +1 -3
- data/spec/lib/arpa/entities/action_spec.rb +3 -6
- data/spec/lib/arpa/entities/profile_spec.rb +1 -7
- data/spec/lib/arpa/entities/resource_spec.rb +1 -9
- data/spec/lib/arpa/entities/role_spec.rb +1 -7
- data/spec/lib/arpa/repositories/actions/finder_spec.rb +1 -8
- data/spec/lib/arpa/repositories/base_spec.rb +1 -9
- data/spec/lib/arpa/repositories/profiles/finder_spec.rb +0 -6
- data/spec/lib/arpa/repositories/profiles/remover_spec.rb +0 -4
- data/spec/lib/arpa/repositories/resources/finder_spec.rb +0 -8
- data/spec/lib/arpa/repositories/resources/remover_spec.rb +0 -4
- data/spec/lib/arpa/repositories/roles/finder_spec.rb +0 -4
- data/spec/lib/arpa/repositories/roles/remover_spec.rb +0 -4
- data/spec/lib/arpa/requests/profiles/create_request_spec.rb +10 -12
- data/spec/lib/arpa/requests/profiles/remove_request_spec.rb +4 -9
- data/spec/lib/arpa/requests/resources/create_request_spec.rb +18 -21
- data/spec/lib/arpa/requests/roles/create_request_spec.rb +7 -9
- data/spec/lib/arpa/requests/roles/remove_request_spec.rb +3 -6
- data/spec/lib/arpa/requests/roles/update_request_spec.rb +7 -9
- data/spec/lib/arpa/services/actions/create/action_creator_spec.rb +5 -14
- data/spec/lib/arpa/services/actions/remove/action_remover_spec.rb +3 -6
- data/spec/lib/arpa/services/base_spec.rb +8 -15
- data/spec/lib/arpa/services/profiles/create/profile_creator_spec.rb +0 -7
- data/spec/lib/arpa/services/profiles/profile_manager_creator_spec.rb +2 -4
- data/spec/lib/arpa/services/profiles/profile_manager_remover_spec.rb +3 -6
- data/spec/lib/arpa/services/profiles/profile_manager_updater_spec.rb +2 -4
- data/spec/lib/arpa/services/profiles/remove/profile_remover_spec.rb +0 -5
- data/spec/lib/arpa/services/profiles/update/profile_updater_spec.rb +0 -7
- data/spec/lib/arpa/services/resources/create/resource_creator_spec.rb +1 -7
- data/spec/lib/arpa/services/resources/remove/resource_remover_spec.rb +2 -6
- data/spec/lib/arpa/services/resources/resource_manager_creator_spec.rb +5 -7
- data/spec/lib/arpa/services/roles/create/role_creator_spec.rb +0 -7
- data/spec/lib/arpa/services/roles/remove/role_remover_spec.rb +1 -8
- data/spec/lib/arpa/services/roles/role_manager_creator_spec.rb +2 -4
- data/spec/lib/arpa/services/roles/role_manager_remover_spec.rb +2 -4
- data/spec/lib/arpa/services/roles/role_manager_updater_spec.rb +2 -4
- data/spec/lib/arpa/services/roles/update/role_updater_spec.rb +0 -7
- data/spec/lib/arpa/services/verifier_spec.rb +3 -6
- data/spec/lib/arpa/validators/action_validator_spec.rb +0 -1
- data/spec/lib/arpa/validators/profile_validator_spec.rb +1 -2
- data/spec/lib/arpa/validators/resource_validator_spec.rb +0 -1
- data/spec/lib/arpa/validators/role_validator_spec.rb +1 -2
- data/spec/spec_helper.rb +4 -6
- data/spec/support/schema.rb +9 -10
- metadata +40 -36
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Arpa::Services::Resources::Create::ResourceCreator, type: :service, fast: true do
|
4
|
-
|
5
4
|
let(:resource_entity_class) { Arpa::Entities::Resource }
|
6
5
|
let(:resource) { double full_name: 'UsersController' }
|
7
6
|
let(:resourceable) { double }
|
@@ -11,7 +10,7 @@ describe Arpa::Services::Resources::Create::ResourceCreator, type: :service, fas
|
|
11
10
|
let(:validator_class) { Arpa::Validators::ResourceValidator }
|
12
11
|
let(:validator) { instance_double validator_class }
|
13
12
|
|
14
|
-
let(:finder_repo_class) { Arpa::Repositories::Resources::Finder}
|
13
|
+
let(:finder_repo_class) { Arpa::Repositories::Resources::Finder }
|
15
14
|
let(:finder_repo) { instance_double finder_repo_class }
|
16
15
|
|
17
16
|
before do
|
@@ -24,7 +23,6 @@ describe Arpa::Services::Resources::Create::ResourceCreator, type: :service, fas
|
|
24
23
|
end
|
25
24
|
|
26
25
|
describe 'creating a new resource' do
|
27
|
-
|
28
26
|
context 'when resource is invalid' do
|
29
27
|
let(:errors) { instance_double('ActiveModel::Errors') }
|
30
28
|
|
@@ -40,7 +38,6 @@ describe Arpa::Services::Resources::Create::ResourceCreator, type: :service, fas
|
|
40
38
|
expect(error.errors).not_to be_nil
|
41
39
|
}
|
42
40
|
end
|
43
|
-
|
44
41
|
end
|
45
42
|
|
46
43
|
context 'when resouce already exists' do
|
@@ -71,7 +68,6 @@ describe Arpa::Services::Resources::Create::ResourceCreator, type: :service, fas
|
|
71
68
|
end
|
72
69
|
|
73
70
|
context 'when build the resource with resourceable' do
|
74
|
-
|
75
71
|
it 'entity resource should call new method' do
|
76
72
|
expect(resource_entity_class).to have_received(:new).once
|
77
73
|
end
|
@@ -80,8 +76,6 @@ describe Arpa::Services::Resources::Create::ResourceCreator, type: :service, fas
|
|
80
76
|
expect(resource).to have_received(:build_correct_name).once
|
81
77
|
end
|
82
78
|
end
|
83
|
-
|
84
79
|
end
|
85
|
-
|
86
80
|
end
|
87
81
|
end
|
@@ -1,17 +1,15 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Arpa::Services::Resources::Remove::ResourceRemover, type: :service, fast: true do
|
4
|
-
|
5
4
|
let(:resource_001) { double full_name: 'UsersController' }
|
6
5
|
let(:resource_002) { double full_name: 'OldContactsController' }
|
7
|
-
let(:resources) { [resource_001, resource_002]}
|
6
|
+
let(:resources) { [resource_001, resource_002] }
|
8
7
|
|
9
8
|
let(:resourceable_001) { double to_s: 'UsersController' }
|
10
9
|
let(:resourceable_002) { double to_s: 'ContactsController' }
|
11
|
-
let(:resourceables) { [resourceable_001, resourceable_002]}
|
10
|
+
let(:resourceables) { [resourceable_001, resourceable_002] }
|
12
11
|
|
13
12
|
describe 'removing nonexistent resources' do
|
14
|
-
|
15
13
|
let(:finder_repo_class) { Arpa::Repositories::Resources::Finder }
|
16
14
|
let(:finder_repo) { instance_double finder_repo_class }
|
17
15
|
|
@@ -44,7 +42,5 @@ describe Arpa::Services::Resources::Remove::ResourceRemover, type: :service, fas
|
|
44
42
|
expect(remover_repo).to have_received(:destroy).once
|
45
43
|
expect(remover_repo).to have_received(:destroy).with(resource_002).once
|
46
44
|
end
|
47
|
-
|
48
45
|
end
|
49
|
-
|
50
46
|
end
|
@@ -1,19 +1,18 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Arpa::Services::Resources::ResourceManagerCreator, type: :service, fast: true do
|
4
|
-
|
5
4
|
let(:action_remover) { double }
|
6
5
|
let(:resource_remover) { double }
|
7
6
|
let(:resource_creator) { double }
|
8
7
|
let(:action_creator) { double }
|
9
8
|
let(:element) { double }
|
10
9
|
let(:resourceables) { [resourceable_001, resourceable_002] }
|
11
|
-
let(:params) { {resourceables: resourceables, except_action_methods: ['some_method']} }
|
10
|
+
let(:params) { { resourceables: resourceables, except_action_methods: ['some_method'] } }
|
12
11
|
let(:success_proc) { ->(r) {} }
|
13
|
-
let(:callback) { {success: success_proc, fail: ->(e) {raise e} } }
|
12
|
+
let(:callback) { { success: success_proc, fail: ->(e) { raise e } } }
|
14
13
|
|
15
14
|
let(:resourceable_001) { double action_methods: [] }
|
16
|
-
let(:resourceable_002) { double action_methods: []}
|
15
|
+
let(:resourceable_002) { double action_methods: [] }
|
17
16
|
let(:resource_created) { double }
|
18
17
|
|
19
18
|
let(:setup_creators) do
|
@@ -52,7 +51,7 @@ describe Arpa::Services::Resources::ResourceManagerCreator, type: :service, fast
|
|
52
51
|
end
|
53
52
|
|
54
53
|
it 'action_remover should call :remove_nonexistent_actions with :action_params as parameter' do
|
55
|
-
expect(action_remover).to have_received(:remove_nonexistent_actions).with(
|
54
|
+
expect(action_remover).to have_received(:remove_nonexistent_actions).with(resource: resource_created, actions_names: []).twice
|
56
55
|
end
|
57
56
|
|
58
57
|
it 'resource_creator should call :create with :resourceable as parameter' do
|
@@ -61,11 +60,10 @@ describe Arpa::Services::Resources::ResourceManagerCreator, type: :service, fast
|
|
61
60
|
end
|
62
61
|
|
63
62
|
it 'action_creator should call :create_many with :action_params as parameter' do
|
64
|
-
expect(action_creator).to have_received(:create_many).with(
|
63
|
+
expect(action_creator).to have_received(:create_many).with(resource: resource_created, actions_names: []).twice
|
65
64
|
end
|
66
65
|
|
67
66
|
it 'success callback should be called with Array of resources as parameter' do
|
68
67
|
expect(success_proc).to have_received(:call).with([resource_created, resource_created])
|
69
68
|
end
|
70
|
-
|
71
69
|
end
|
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Arpa::Services::Roles::Create::RoleCreator, type: :service, fast: true do
|
4
|
-
|
5
4
|
let(:role_entity_class) { Arpa::Entities::Role }
|
6
5
|
let(:role) { double }
|
7
6
|
let(:params) { double }
|
@@ -16,7 +15,6 @@ describe Arpa::Services::Roles::Create::RoleCreator, type: :service, fast: true
|
|
16
15
|
end
|
17
16
|
|
18
17
|
describe 'creating a new role' do
|
19
|
-
|
20
18
|
context 'when role is invalid' do
|
21
19
|
let(:errors) { instance_double('ActiveModel::Errors') }
|
22
20
|
|
@@ -32,7 +30,6 @@ describe Arpa::Services::Roles::Create::RoleCreator, type: :service, fast: true
|
|
32
30
|
expect(error.errors).not_to be_nil
|
33
31
|
}
|
34
32
|
end
|
35
|
-
|
36
33
|
end
|
37
34
|
|
38
35
|
context 'when role is valid' do
|
@@ -55,14 +52,10 @@ describe Arpa::Services::Roles::Create::RoleCreator, type: :service, fast: true
|
|
55
52
|
end
|
56
53
|
|
57
54
|
context 'when build the role' do
|
58
|
-
|
59
55
|
it 'entity role should call new method' do
|
60
56
|
expect(role_entity_class).to have_received(:new).once
|
61
57
|
end
|
62
|
-
|
63
58
|
end
|
64
|
-
|
65
59
|
end
|
66
|
-
|
67
60
|
end
|
68
61
|
end
|
@@ -1,13 +1,12 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Arpa::Services::Roles::Remove::RoleRemover, type: :service, fast: true do
|
4
|
-
|
5
4
|
let(:role) { double }
|
6
5
|
|
7
6
|
describe 'removing role' do
|
8
7
|
let(:remover_repo_class) { Arpa::Repositories::Roles::Remover }
|
9
8
|
let(:remover_repo) { instance_double remover_repo_class }
|
10
|
-
let(:setup) {
|
9
|
+
let(:setup) {}
|
11
10
|
|
12
11
|
before do
|
13
12
|
allow(remover_repo_class).to receive(:new).and_return(remover_repo)
|
@@ -16,7 +15,6 @@ describe Arpa::Services::Roles::Remove::RoleRemover, type: :service, fast: true
|
|
16
15
|
end
|
17
16
|
|
18
17
|
context 'when role has no profiles' do
|
19
|
-
|
20
18
|
let(:setup) do
|
21
19
|
allow(role).to receive(:has_profile?).and_return(false)
|
22
20
|
allow(remover_repo).to receive(:destroy)
|
@@ -29,11 +27,9 @@ describe Arpa::Services::Roles::Remove::RoleRemover, type: :service, fast: true
|
|
29
27
|
it 'remover repository should call :new once' do
|
30
28
|
expect(remover_repo_class).to have_received(:new).once
|
31
29
|
end
|
32
|
-
|
33
30
|
end
|
34
31
|
|
35
32
|
context 'when role has profiles' do
|
36
|
-
|
37
33
|
let(:setup) do
|
38
34
|
allow(role).to receive(:has_profile?).and_return(true)
|
39
35
|
allow(remover_repo).to receive(:disable)
|
@@ -42,9 +38,6 @@ describe Arpa::Services::Roles::Remove::RoleRemover, type: :service, fast: true
|
|
42
38
|
it 'remover repository should call :disable once' do
|
43
39
|
expect(remover_repo).to have_received(:disable).once
|
44
40
|
end
|
45
|
-
|
46
41
|
end
|
47
|
-
|
48
42
|
end
|
49
|
-
|
50
43
|
end
|
@@ -1,11 +1,10 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Arpa::Services::Roles::RoleManagerCreator, type: :service, fast: true do
|
4
|
-
|
5
4
|
let(:role_creator) { double }
|
6
|
-
let(:params) { {role: {name: 'role_name', description: 'role_description', action_ids: [1, 2]}} }
|
5
|
+
let(:params) { { role: { name: 'role_name', description: 'role_description', action_ids: [1, 2] } } }
|
7
6
|
let(:success_proc) { ->(r) {} }
|
8
|
-
let(:callback) { {success: success_proc, fail: ->(e) {raise e} } }
|
7
|
+
let(:callback) { { success: success_proc, fail: ->(e) { raise e } } }
|
9
8
|
|
10
9
|
let(:setup_creators) do
|
11
10
|
allow(Arpa::Services::Roles::Create::RoleCreator).to receive(:new).and_return(role_creator)
|
@@ -27,5 +26,4 @@ describe Arpa::Services::Roles::RoleManagerCreator, type: :service, fast: true d
|
|
27
26
|
it 'role_creator should call :create with parameters' do
|
28
27
|
expect(role_creator).to have_received(:create).with(params[:role]).once
|
29
28
|
end
|
30
|
-
|
31
29
|
end
|
@@ -1,12 +1,11 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Arpa::Services::Roles::RoleManagerRemover, type: :service, fast: true do
|
4
|
-
|
5
4
|
let(:role_remover) { double }
|
6
5
|
let(:role) { double }
|
7
|
-
let(:params) { {role: role} }
|
6
|
+
let(:params) { { role: role } }
|
8
7
|
let(:success_proc) { ->(r) {} }
|
9
|
-
let(:callback) { {success: success_proc, fail: ->(e) {raise e} } }
|
8
|
+
let(:callback) { { success: success_proc, fail: ->(e) { raise e } } }
|
10
9
|
|
11
10
|
let(:setup_updaters) do
|
12
11
|
allow(Arpa::Services::Roles::Remove::RoleRemover).to receive(:new).and_return(role_remover)
|
@@ -28,5 +27,4 @@ describe Arpa::Services::Roles::RoleManagerRemover, type: :service, fast: true d
|
|
28
27
|
it 'role_remover should call :remove with role as parameter' do
|
29
28
|
expect(role_remover).to have_received(:remove).with(role).once
|
30
29
|
end
|
31
|
-
|
32
30
|
end
|
@@ -1,11 +1,10 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Arpa::Services::Roles::RoleManagerUpdater, type: :service, fast: true do
|
4
|
-
|
5
4
|
let(:role_updater) { double }
|
6
|
-
let(:params) { {role: {name: 'role_name', description: 'role_description', action_ids: [1, 2]}} }
|
5
|
+
let(:params) { { role: { name: 'role_name', description: 'role_description', action_ids: [1, 2] } } }
|
7
6
|
let(:success_proc) { ->(r) {} }
|
8
|
-
let(:callback) { {success: success_proc, fail: ->(e) {raise e} } }
|
7
|
+
let(:callback) { { success: success_proc, fail: ->(e) { raise e } } }
|
9
8
|
|
10
9
|
let(:setup_updaters) do
|
11
10
|
allow(Arpa::Services::Roles::Update::RoleUpdater).to receive(:new).and_return(role_updater)
|
@@ -27,5 +26,4 @@ describe Arpa::Services::Roles::RoleManagerUpdater, type: :service, fast: true d
|
|
27
26
|
it 'role_updater should call :update with parameters' do
|
28
27
|
expect(role_updater).to have_received(:update).with(params[:role]).once
|
29
28
|
end
|
30
|
-
|
31
29
|
end
|
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Arpa::Services::Roles::Update::RoleUpdater, type: :service, fast: true do
|
4
|
-
|
5
4
|
let(:role_entity_class) { Arpa::Entities::Role }
|
6
5
|
let(:role) { double }
|
7
6
|
let(:params) { double }
|
@@ -16,7 +15,6 @@ describe Arpa::Services::Roles::Update::RoleUpdater, type: :service, fast: true
|
|
16
15
|
end
|
17
16
|
|
18
17
|
describe 'updating a role' do
|
19
|
-
|
20
18
|
context 'when role is invalid' do
|
21
19
|
let(:errors) { instance_double('ActiveModel::Errors') }
|
22
20
|
|
@@ -32,7 +30,6 @@ describe Arpa::Services::Roles::Update::RoleUpdater, type: :service, fast: true
|
|
32
30
|
expect(error.errors).not_to be_nil
|
33
31
|
}
|
34
32
|
end
|
35
|
-
|
36
33
|
end
|
37
34
|
|
38
35
|
context 'when role is valid' do
|
@@ -55,14 +52,10 @@ describe Arpa::Services::Roles::Update::RoleUpdater, type: :service, fast: true
|
|
55
52
|
end
|
56
53
|
|
57
54
|
context 'when build the role' do
|
58
|
-
|
59
55
|
it 'entity role should call new method' do
|
60
56
|
expect(role_entity_class).to have_received(:new).once
|
61
57
|
end
|
62
|
-
|
63
58
|
end
|
64
|
-
|
65
59
|
end
|
66
|
-
|
67
60
|
end
|
68
61
|
end
|
@@ -1,14 +1,13 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Arpa::Services::Verifier do
|
4
|
-
let(:current_user) { double is_arpa_admin?: false, profile_ids: [1,2,3] }
|
4
|
+
let(:current_user) { double is_arpa_admin?: false, profile_ids: [1, 2, 3] }
|
5
5
|
|
6
6
|
subject(:verifier) { Arpa::Services::Verifier.new(current_user) }
|
7
7
|
|
8
8
|
describe '#has_access?' do
|
9
|
-
|
10
9
|
context 'when current_user is a arpa admin' do
|
11
|
-
let(:current_user) { double is_arpa_admin?: true, profile_ids: [1,2,3] }
|
10
|
+
let(:current_user) { double is_arpa_admin?: true, profile_ids: [1, 2, 3] }
|
12
11
|
|
13
12
|
it 'should has access' do
|
14
13
|
expect(subject.has_access?('home', 'some_action')).to be_truthy
|
@@ -38,10 +37,8 @@ describe Arpa::Services::Verifier do
|
|
38
37
|
end
|
39
38
|
|
40
39
|
it 'should be called :permissions from Arpa::Repositories::Actions::Finder' do
|
41
|
-
expect(action_finder).to have_received(:permission).with('users', 'index', [1,2,3]).once
|
40
|
+
expect(action_finder).to have_received(:permission).with('users', 'index', [1, 2, 3]).once
|
42
41
|
end
|
43
|
-
|
44
42
|
end
|
45
|
-
|
46
43
|
end
|
47
44
|
end
|
@@ -10,7 +10,6 @@ describe Arpa::Validators::ProfileValidator, type: :validator, fast: true do
|
|
10
10
|
context 'when require' do
|
11
11
|
it { expect(subject.errors).to be_added(:name, :blank) }
|
12
12
|
it { expect(subject.errors).to be_added(:description, :blank) }
|
13
|
-
it { expect(subject.errors).to be_added(:role_ids, :
|
13
|
+
it { expect(subject.errors).to be_added(:role_ids, :blank) }
|
14
14
|
end
|
15
|
-
|
16
15
|
end
|
@@ -10,7 +10,6 @@ describe Arpa::Validators::RoleValidator, type: :validator, fast: true do
|
|
10
10
|
context 'when require' do
|
11
11
|
it { expect(subject.errors).to be_added(:name, :blank) }
|
12
12
|
it { expect(subject.errors).to be_added(:description, :blank) }
|
13
|
-
it { expect(subject.errors).to be_added(:action_ids, :
|
13
|
+
it { expect(subject.errors).to be_added(:action_ids, :blank) }
|
14
14
|
end
|
15
|
-
|
16
15
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'active_record'
|
2
2
|
require 'arpa'
|
3
3
|
require 'database_cleaner'
|
4
|
-
require '
|
4
|
+
require 'factory_bot'
|
5
5
|
require 'support/repositories/test_repository'
|
6
6
|
require 'i18n'
|
7
7
|
|
@@ -11,13 +11,12 @@ ActiveRecord::Base.establish_connection(adapter: 'sqlite3',
|
|
11
11
|
load File.dirname(__FILE__) + '/support/schema.rb'
|
12
12
|
|
13
13
|
I18n.config.enforce_available_locales = true
|
14
|
-
I18n.load_path << File.expand_path('
|
14
|
+
I18n.load_path << File.expand_path('../lib/config/locales/arpa.en.yml', __dir__)
|
15
15
|
I18n.reload!
|
16
16
|
|
17
17
|
RSpec.configure do |config|
|
18
|
-
|
19
|
-
|
20
|
-
FactoryGirl.find_definitions
|
18
|
+
config.include FactoryBot::Syntax::Methods
|
19
|
+
FactoryBot.find_definitions
|
21
20
|
|
22
21
|
config.before(:suite) do
|
23
22
|
DatabaseCleaner.strategy = :transaction
|
@@ -29,5 +28,4 @@ RSpec.configure do |config|
|
|
29
28
|
example.run
|
30
29
|
end
|
31
30
|
end
|
32
|
-
|
33
31
|
end
|
data/spec/support/schema.rb
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
ActiveRecord::Schema.define do
|
2
2
|
self.verbose = false
|
3
3
|
|
4
|
-
create_table :test_repositories, :
|
4
|
+
create_table :test_repositories, force: true do |t|
|
5
5
|
t.string :name
|
6
6
|
t.timestamps null: false
|
7
7
|
end
|
8
8
|
|
9
|
-
create_table :repository_resources, :
|
9
|
+
create_table :repository_resources, force: true do |t|
|
10
10
|
t.string :name
|
11
11
|
t.string :full_name
|
12
12
|
t.timestamps null: false
|
13
13
|
end
|
14
14
|
|
15
|
-
create_table :repository_actions, :
|
15
|
+
create_table :repository_actions, force: true do |t|
|
16
16
|
t.string :name
|
17
17
|
t.references :repository_resource, index: true
|
18
18
|
t.timestamps null: false
|
@@ -20,42 +20,41 @@ ActiveRecord::Schema.define do
|
|
20
20
|
|
21
21
|
add_foreign_key :repository_actions, :repository_resources
|
22
22
|
|
23
|
-
create_table :repository_roles, :
|
23
|
+
create_table :repository_roles, force: true do |t|
|
24
24
|
t.string :name
|
25
25
|
t.string :description
|
26
26
|
t.boolean :removed, default: false
|
27
27
|
t.timestamps null: false
|
28
28
|
end
|
29
29
|
|
30
|
-
create_join_table :repository_actions, :repository_roles, :
|
30
|
+
create_join_table :repository_actions, :repository_roles, force: true do |t|
|
31
31
|
t.index :repository_action_id, name: 'action_role_id'
|
32
32
|
t.index :repository_role_id, name: 'role_action_id'
|
33
33
|
end
|
34
34
|
|
35
|
-
create_table :repository_profiles, :
|
35
|
+
create_table :repository_profiles, force: true do |t|
|
36
36
|
t.string :name
|
37
37
|
t.string :description
|
38
38
|
t.boolean :removed, default: false
|
39
39
|
t.timestamps null: false
|
40
40
|
end
|
41
41
|
|
42
|
-
create_join_table :repository_roles, :repository_profiles, :
|
42
|
+
create_join_table :repository_roles, :repository_profiles, force: true do |t|
|
43
43
|
t.index :repository_role_id, name: 'role_profile_id'
|
44
44
|
t.index :repository_profile_id, name: 'profile_role_ids'
|
45
45
|
end
|
46
46
|
|
47
|
-
create_table :users, :
|
47
|
+
create_table :users, force: true do |t|
|
48
48
|
t.string :name
|
49
49
|
t.string :email
|
50
50
|
t.timestamps null: false
|
51
51
|
end
|
52
52
|
|
53
|
-
create_join_table :repository_profiles, :users, :
|
53
|
+
create_join_table :repository_profiles, :users, force: true do |t|
|
54
54
|
t.index :repository_profile_id, name: 'profile_user_id'
|
55
55
|
t.index :user_id, name: 'user_profile_id'
|
56
56
|
end
|
57
57
|
|
58
58
|
add_column :repository_profiles, :entity_id, :integer, default: nil
|
59
59
|
add_column :repository_profiles, :entity_class, :string, default: nil
|
60
|
-
|
61
60
|
end
|