releaf-permissions 1.1.22 → 2.0.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 +4 -4
- data/app/assets/config/releaf_permissions_manifest.js +1 -0
- data/app/controllers/releaf/permissions/sessions_controller.rb +1 -1
- data/lib/releaf/permissions/engine.rb +2 -2
- data/spec/builders/releaf/permissions/page/header_builder_spec.rb +2 -3
- data/spec/builders/releaf/permissions/page/layout_builder_spec.rb +1 -1
- data/spec/builders/releaf/permissions/page/menu_builder_spec.rb +1 -1
- data/spec/builders/releaf/permissions/profile/form_builder_spec.rb +1 -1
- data/spec/builders/releaf/permissions/roles/form_builder_spec.rb +1 -1
- data/spec/builders/releaf/permissions/roles/table_builder_spec.rb +1 -1
- data/spec/builders/releaf/permissions/users/form_builder_spec.rb +1 -1
- data/spec/builders/releaf/permissions/users/table_builder_spec.rb +1 -1
- data/spec/controllers/permissions/profile_controller_spec.rb +7 -6
- data/spec/controllers/permissions/users_controller_spec.rb +4 -4
- data/spec/features/profile_updating_spec.rb +1 -1
- data/spec/models/permissions/role_spec.rb +1 -1
- metadata +9 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aa31bd6692140be7d800598e94aff5d1ce8276fc96bff80a4c1b3756d18ac05d
|
4
|
+
data.tar.gz: 3508caf658624203c8a6ea595421fe306740874f9a3e764a4750def9d5dd9169
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 24a3c172b366c01960f213fc29508b125cd7ec5c0d3dff1acbc3957056b3559a5bafceafd046eed8b2fbd21de550cf90065667562d9636ff44e7ad26da6eb3f9
|
7
|
+
data.tar.gz: 74b8a2740261d062c12ab5d7a30d5d1b80dfaa2a2d4ed92e70ac690f1ec797fd2057197f2b4c13a3b1e66962e91f13dff387f3a44e46b75ca46d455b1853bc41
|
@@ -0,0 +1 @@
|
|
1
|
+
//= link controllers/releaf/permissions/sessions.css
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Releaf::Permissions
|
2
2
|
class Engine < ::Rails::Engine
|
3
|
-
initializer '
|
4
|
-
app.config.assets.precompile
|
3
|
+
initializer 'releaf_permissions.assets_precompile', group: :all do |app|
|
4
|
+
app.config.assets.precompile << "releaf_permissions_manifest.js"
|
5
5
|
end
|
6
6
|
end
|
7
7
|
end
|
@@ -9,7 +9,7 @@ describe Releaf::Permissions::Page::HeaderBuilder, type: :class do
|
|
9
9
|
true
|
10
10
|
end
|
11
11
|
|
12
|
-
def form_authenticity_token
|
12
|
+
def form_authenticity_token(_)
|
13
13
|
"xxx"
|
14
14
|
end
|
15
15
|
|
@@ -19,7 +19,7 @@ describe Releaf::Permissions::Page::HeaderBuilder, type: :class do
|
|
19
19
|
end
|
20
20
|
|
21
21
|
subject { described_class.new(template) }
|
22
|
-
let(:template){ PageHeaderBuilderTestHelper.new }
|
22
|
+
let(:template){ PageHeaderBuilderTestHelper.new(ActionView::LookupContext.new(nil), {}, nil) }
|
23
23
|
|
24
24
|
describe "#items" do
|
25
25
|
it "returns array of home link, profile block and logout form content" do
|
@@ -74,7 +74,6 @@ describe Releaf::Permissions::Page::HeaderBuilder, type: :class do
|
|
74
74
|
allow(subject).to receive(:sign_out_path).and_return("url_a")
|
75
75
|
content = %Q[
|
76
76
|
<form class="sign-out" action="url_a" accept-charset="UTF-8" method="post">
|
77
|
-
<input name="utf8" type="hidden" value="✓" />
|
78
77
|
<input type="hidden" name="_method" value="delete" />
|
79
78
|
<input type="hidden" name="yyy" value="xxx" />
|
80
79
|
<button class="button only-icon" type="submit" title="Sign out">
|
@@ -4,7 +4,7 @@ describe Releaf::Permissions::Page::LayoutBuilder, type: :class do
|
|
4
4
|
class PermissionsLayoutBuilderView < ActionView::Base; end
|
5
5
|
|
6
6
|
let(:controller){ Releaf::RootController.new }
|
7
|
-
let(:template){ PermissionsLayoutBuilderView.new }
|
7
|
+
let(:template){ PermissionsLayoutBuilderView.new(ActionView::LookupContext.new(nil), {}, nil) }
|
8
8
|
subject { described_class.new(template) }
|
9
9
|
|
10
10
|
before do
|
@@ -7,7 +7,7 @@ describe Releaf::Permissions::Page::MenuBuilder, type: :class do
|
|
7
7
|
|
8
8
|
let(:user){ Releaf::Permissions::User.new }
|
9
9
|
let(:controller){ Releaf::ActionController.new }
|
10
|
-
let(:template){ MenuBuilderTestHelper.new }
|
10
|
+
let(:template){ MenuBuilderTestHelper.new(ActionView::LookupContext.new(nil), {}, nil) }
|
11
11
|
let(:group_item){ Releaf::ControllerGroupDefinition.new(name: "x", items: []) }
|
12
12
|
let(:controller_item){ Releaf::ControllerDefinition.new(name: "y", controller: "_controller_") }
|
13
13
|
subject { described_class.new(template) }
|
@@ -2,7 +2,7 @@ require "rails_helper"
|
|
2
2
|
|
3
3
|
describe Releaf::Permissions::Profile::FormBuilder, type: :class do
|
4
4
|
class FormBuilderTestHelper < ActionView::Base; end
|
5
|
-
let(:template){ FormBuilderTestHelper.new }
|
5
|
+
let(:template){ FormBuilderTestHelper.new(ActionView::LookupContext.new(nil), {}, nil) }
|
6
6
|
let(:object){ Releaf::Permissions::User.new }
|
7
7
|
let(:subject){ described_class.new(:resource, object, template, {}) }
|
8
8
|
|
@@ -2,7 +2,7 @@ require 'rails_helper'
|
|
2
2
|
|
3
3
|
describe Releaf::Permissions::Roles::FormBuilder, type: :class do
|
4
4
|
class FormBuilderTestHelper < ActionView::Base; end
|
5
|
-
let(:template){ FormBuilderTestHelper.new }
|
5
|
+
let(:template){ FormBuilderTestHelper.new(ActionView::LookupContext.new(nil), {}, nil) }
|
6
6
|
let(:object){ Releaf::Permissions::Role.new }
|
7
7
|
let(:subject){ described_class.new(:resource, object, template, {}) }
|
8
8
|
|
@@ -2,7 +2,7 @@ require "rails_helper"
|
|
2
2
|
|
3
3
|
describe Releaf::Permissions::Roles::TableBuilder, type: :class do
|
4
4
|
class TableBuilderTestHelper < ActionView::Base; end
|
5
|
-
let(:template){ TableBuilderTestHelper.new }
|
5
|
+
let(:template){ TableBuilderTestHelper.new(ActionView::LookupContext.new(nil), {}, nil) }
|
6
6
|
let(:resource_class){ Releaf::Permissions::Role }
|
7
7
|
let(:subject){ described_class.new([], resource_class, template, {}) }
|
8
8
|
|
@@ -2,7 +2,7 @@ require "rails_helper"
|
|
2
2
|
|
3
3
|
describe Releaf::Permissions::Users::FormBuilder, type: :class do
|
4
4
|
class FormBuilderTestHelper < ActionView::Base; end
|
5
|
-
let(:template){ FormBuilderTestHelper.new }
|
5
|
+
let(:template){ FormBuilderTestHelper.new(ActionView::LookupContext.new(nil), {}, nil) }
|
6
6
|
let(:object){ Releaf::Permissions::Role.new }
|
7
7
|
let(:subject){ described_class.new(:resource, object, template, {}) }
|
8
8
|
|
@@ -2,7 +2,7 @@ require "rails_helper"
|
|
2
2
|
|
3
3
|
describe Releaf::Permissions::Users::TableBuilder, type: :class do
|
4
4
|
class TableBuilderTestHelper < ActionView::Base; end
|
5
|
-
let(:template){ TableBuilderTestHelper.new }
|
5
|
+
let(:template){ TableBuilderTestHelper.new(ActionView::LookupContext.new(nil), {}, nil) }
|
6
6
|
let(:resource_class){ Releaf::Permissions::User }
|
7
7
|
let(:subject){ described_class.new([], resource_class, template, {}) }
|
8
8
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'rails_helper'
|
2
2
|
|
3
3
|
describe Releaf::Permissions::ProfileController do
|
4
|
-
let(:another_role){
|
4
|
+
let(:another_role){ FactoryBot.create(:content_role) }
|
5
5
|
let(:user){ subject.current_releaf_permissions_user }
|
6
6
|
login_as_user :user
|
7
7
|
|
@@ -14,25 +14,26 @@ describe Releaf::Permissions::ProfileController do
|
|
14
14
|
describe "PATCH update" do
|
15
15
|
context 'when attributes contain role_id' do
|
16
16
|
it "does not update it" do
|
17
|
-
expect{ patch :update, {resource: {role_id: another_role.id}} }.to_not change{ user.role_id }
|
17
|
+
expect{ patch :update, params: {resource: {role_id: another_role.id}} }.to_not change{ user.role_id }
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
21
|
context 'with allowed attributes' do
|
22
22
|
it "saves new attributes" do
|
23
|
-
attributes = {
|
23
|
+
attributes = ActionController::Parameters.new({
|
24
24
|
"name" => "new name",
|
25
25
|
"surname" => "new surname",
|
26
26
|
"email" => "new.email@example.com",
|
27
27
|
"locale" => "lv"
|
28
|
-
}
|
28
|
+
})
|
29
|
+
attributes.permit!
|
29
30
|
|
30
31
|
# This is needed in order to get same instance as we expect.
|
31
32
|
# Otherwise we'll get same record, but different instance and test will fail
|
32
33
|
allow( user ).to receive(:becomes).with(Releaf::Permissions::User).and_return(user)
|
33
34
|
|
34
|
-
expect(user).to receive(:
|
35
|
-
patch :update, {resource: attributes}
|
35
|
+
expect(user).to receive(:update).with(attributes)
|
36
|
+
patch :update, params: {resource: attributes}
|
36
37
|
end
|
37
38
|
end
|
38
39
|
end
|
@@ -4,7 +4,7 @@ require 'rails_helper'
|
|
4
4
|
# have no extra methods or overrides
|
5
5
|
describe Releaf::Permissions::UsersController do
|
6
6
|
before do
|
7
|
-
sign_in
|
7
|
+
sign_in FactoryBot.create(:user)
|
8
8
|
end
|
9
9
|
|
10
10
|
describe "GET #new" do
|
@@ -16,12 +16,12 @@ describe Releaf::Permissions::UsersController do
|
|
16
16
|
|
17
17
|
describe "GET #index" do
|
18
18
|
before do
|
19
|
-
|
20
|
-
|
19
|
+
FactoryBot.create(:content_user, name: "John")
|
20
|
+
FactoryBot.create(:content_user, name: "Bill", surname: "Green", email: "another@example.com")
|
21
21
|
end
|
22
22
|
|
23
23
|
it "searches by name, surname and email" do
|
24
|
-
get :index, search: "bill green another@example"
|
24
|
+
get :index, params: {search: "bill green another@example"}
|
25
25
|
expect(assigns(:collection).count).to eq(1)
|
26
26
|
end
|
27
27
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'rails_helper'
|
2
2
|
feature "User profile" do
|
3
3
|
background do
|
4
|
-
auth_as_user(false,
|
4
|
+
auth_as_user(false, FactoryBot.create(:user, email: "email@example.com"))
|
5
5
|
visit releaf_permissions_user_profile_path
|
6
6
|
end
|
7
7
|
|
@@ -4,7 +4,7 @@ describe Releaf::Permissions::Role do
|
|
4
4
|
describe 'validations' do
|
5
5
|
it { is_expected.to validate_presence_of(:name) }
|
6
6
|
it { is_expected.to validate_presence_of(:default_controller) }
|
7
|
-
it { is_expected.to validate_uniqueness_of(:name).case_insensitive }
|
7
|
+
it { subject.name = "x"; is_expected.to validate_uniqueness_of(:name).case_insensitive }
|
8
8
|
end
|
9
9
|
|
10
10
|
describe 'associations' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: releaf-permissions
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- CubeSystems
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-10-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: releaf-core
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 2.0.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 2.0.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: devise
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -45,6 +45,7 @@ extensions: []
|
|
45
45
|
extra_rdoc_files: []
|
46
46
|
files:
|
47
47
|
- LICENSE
|
48
|
+
- app/assets/config/releaf_permissions_manifest.js
|
48
49
|
- app/assets/stylesheets/controllers/releaf/permissions/sessions.scss
|
49
50
|
- app/builders/releaf/permissions/page/header_builder.rb
|
50
51
|
- app/builders/releaf/permissions/page/layout_builder.rb
|
@@ -101,7 +102,7 @@ homepage: https://github.com/cubesystems/releaf
|
|
101
102
|
licenses:
|
102
103
|
- MIT
|
103
104
|
metadata: {}
|
104
|
-
post_install_message:
|
105
|
+
post_install_message:
|
105
106
|
rdoc_options: []
|
106
107
|
require_paths:
|
107
108
|
- lib
|
@@ -116,8 +117,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
116
117
|
- !ruby/object:Gem::Version
|
117
118
|
version: '0'
|
118
119
|
requirements: []
|
119
|
-
rubygems_version: 3.0.
|
120
|
-
signing_key:
|
120
|
+
rubygems_version: 3.0.8
|
121
|
+
signing_key:
|
121
122
|
specification_version: 4
|
122
123
|
summary: Built-in admin and role support for releaf
|
123
124
|
test_files:
|