releaf-permissions 1.1.22 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|