eac_rails_base0 0.52.2 → 0.55.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 97b2aceeb99f1416d6e957212b8711dece7fa858f3688e21949ec8db172f8443
4
- data.tar.gz: 1ff24528f450aec8085274adfefd4d46b1df1ef9524afa4b074f16d5f16f5abe
3
+ metadata.gz: 96633b3ccfdc719249e98c99493d5e1dd1fd8200b7827abdb872c90da00c07fc
4
+ data.tar.gz: f611a56f2e790a3f662c2894a55371269cb9f771a0c8c769897838fb9ee99dd1
5
5
  SHA512:
6
- metadata.gz: 6af83918b2c682880880572ba53a7401d84947996d61d3e68ec329c6f512ad18e5c76992699fa879e292848c8ca5f56080e67203be52742b2a040e92d78e91c2
7
- data.tar.gz: 4c92d69dfabb26d934e9cc5e14c3faf4d9ce45263b033ae85ed1a0772607893757a22f5e9c0fab62109549e1e19d00ac2bceb4d73d08b7bb0feb3179495a2ba8
6
+ metadata.gz: 782d98f134bf8cd69f8504516e2b6868866a0c3a1c468044f872405ae0e6215004d52b7b70a1f346bc8534453692cce648a014f00472d2c42a9e56db8fe7282c
7
+ data.tar.gz: 9128b387a343b1ee71db6262f0ce4329c5575fae8444b21dddb0f6e89964d6c59896c618f0f16f987f52416af158407e15f5842338e3848e52f60cca7808d68c
@@ -50,6 +50,8 @@ module EacRailsBase0
50
50
  def aranha_main_menu_admin_entries
51
51
  {
52
52
  ::Aranha::Address.model_name.human(count: 2) => [aranha.addresses_path],
53
+ ::Aranha::ProcessorConfiguration.model_name.human(count: 2) =>
54
+ [aranha.processor_configurations_path],
53
55
  ::Aranha::StartPoint.model_name.human(count: 2) => [aranha.start_points_path]
54
56
  }
55
57
  end
@@ -8,9 +8,9 @@ module EacRailsBase0
8
8
  r[current_user.to_s] = {
9
9
  'Alterar senha' => [eac_users_support.edit_user_registration_path]
10
10
  }
11
- r['Sair'] = [eac_users_support.destroy_user_session_path, link_method: :delete]
11
+ r[t('devise.log_out')] = [eac_users_support.destroy_user_session_path, link_method: :delete]
12
12
  else
13
- r['Entrar'] = [eac_users_support.new_user_session_path]
13
+ r[t('devise.log_in')] = [eac_users_support.new_user_session_path]
14
14
  end
15
15
  r
16
16
  end
@@ -10,7 +10,7 @@ unless ::Rails.env.test?
10
10
  password: ENV['action_mailer_smtp_password'],
11
11
  authentication: ENV['action_mailer_smtp_authentication'],
12
12
  enable_starttls_auto:
13
- ::EacRailsBase0::BooleanValue.to_b(ENV['action_mailer_smtp_enable_starttls_auto'])
13
+ ::EacRubyUtils::Boolean.parse(ENV['action_mailer_smtp_enable_starttls_auto'])
14
14
  }
15
15
  %i[host port].each do |option|
16
16
  value = ENV["action_mailer_default_url_#{option}"]
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_cli/speaker'
4
+ require 'eac_ruby_utils/speaker'
5
+
6
+ unless ::EacRubyUtils::Speaker.context.optional_current
7
+ ::EacRubyUtils::Speaker.context.push(::EacCli::Speaker.new)
8
+ end
@@ -1,4 +1,8 @@
1
1
  en:
2
+ devise:
3
+ log_in: Log in
4
+ log_out: Log out
5
+ update_password: Update password
2
6
  eac_rails_base0:
3
7
  mailer:
4
8
  info: 'E-mail information'
@@ -20,6 +20,5 @@ end
20
20
  require_dependency 'eac_rails_base0/gems'
21
21
  require_dependency 'eac_rails_base0/app_base/ability_mapping'
22
22
  require_dependency 'eac_rails_base0/app_base/ability'
23
- require_dependency 'eac_rails_base0/boolean_value'
24
23
  require_dependency 'eac_rails_base0/patches/url_for_patch'
25
24
  require_dependency 'eac_rails_base0/x_engine'
@@ -58,6 +58,7 @@ module EacRailsBase0
58
58
 
59
59
  can :manage, ::EacUsersSupport::User
60
60
  can :manage, ::Aranha::Address
61
+ can :manage, ::Aranha::ProcessorConfiguration
61
62
  can :manage, ::Aranha::StartPoint
62
63
  can :manage, ::BrRailties::FederalUnit
63
64
  can :manage, ::BrRailties::Municipality
@@ -12,8 +12,7 @@ module EacRailsBase0
12
12
  map_devise
13
13
  map_devise_invitable
14
14
  map_controller 'EacUsersSupport::Admin::Users', :manage, ::EacUsersSupport::User
15
- map_controller 'Aranha::Addresses', :manage, ::Aranha::Address
16
- map_controller 'Aranha::StartPoints', :manage, ::Aranha::StartPoint
15
+ map_aranha
17
16
  map_controller 'BrRailties::FederalUnits', :manage, ::BrRailties::FederalUnit
18
17
  map_controller 'BrRailties::Municipalities', :manage, ::BrRailties::Municipality
19
18
  map_controller 'ScheduledTasks', :manage, ::ScheduledTask
@@ -24,6 +23,12 @@ module EacRailsBase0
24
23
  def map_eac_rails_base0
25
24
  map_controller 'EacRailsBase0::Mailer', :manage, :eac_rails_base0_mailer
26
25
  end
26
+
27
+ def map_aranha
28
+ map_controller 'Aranha::Addresses', :manage, ::Aranha::Address
29
+ map_controller 'Aranha::ProcessorConfigurations', :manage, ::Aranha::ProcessorConfiguration
30
+ map_controller 'Aranha::StartPoints', :manage, ::Aranha::StartPoint
31
+ end
27
32
  end
28
33
  end
29
34
  end
@@ -6,7 +6,7 @@ module EacRailsBase0App
6
6
  class Application < Rails::Application
7
7
  module All
8
8
  common_concern do
9
- setup('assets_cache', 'dependencies', 'localization', 'load_paths', 'loggers')
9
+ setup('app_root', 'assets_cache', 'dependencies', 'localization', 'load_paths', 'loggers')
10
10
  end
11
11
 
12
12
  module ClassMethods
@@ -14,11 +14,10 @@ module EacRailsBase0App
14
14
  ::File.join(::Dir.tmpdir, ::Rails.root.to_path.parameterize, 'tmp')
15
15
  end
16
16
 
17
- def rails_root(dir)
18
- return dir if ::File.exist?(::File.join(dir, 'config.ru'))
19
- raise 'config.ru not found in ascendent path' if dir == '/'
17
+ def setup_app_root
18
+ return unless defined?(APP_PATH)
20
19
 
21
- rails_root(::File.dirname(dir))
20
+ config.root = find_root(APP_PATH)
22
21
  end
23
22
 
24
23
  def setup_assets_cache
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module EacRailsBase0
6
+ module Rspec
7
+ require_sub __FILE__
8
+ end
9
+ end
@@ -0,0 +1,114 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+ require 'factory_bot'
5
+
6
+ module EacRailsBase0
7
+ module Rspec
8
+ module Setup
9
+ def self.extended(obj)
10
+ return unless obj.rails_app_path
11
+
12
+ %w[engines admin_user non_admin_user admin_example non_admin_example
13
+ anonymous_example].each do |m|
14
+ obj.send("setup_#{m}")
15
+ end
16
+ end
17
+
18
+ private
19
+
20
+ def setup_engines
21
+ ::FactoryBot.definition_file_paths += ::EacRailsBase0::XEngine.local.flat_map do |engine|
22
+ %w[factories test/factories spec/factories].map do |subpath|
23
+ engine.config.root.join(subpath).to_path
24
+ end
25
+ end
26
+ ::FactoryBot.find_definitions
27
+ end
28
+
29
+ def setup_admin_user
30
+ ::FactoryBot.define do
31
+ factory :admin_user, class: ::EacUsersSupport::User do
32
+ email { 'admin@example.com' }
33
+ password { 'mysecret' }
34
+ confirmed_at { ::Time.zone.now }
35
+ end
36
+ end
37
+ end
38
+
39
+ def setup_non_admin_user
40
+ ::FactoryBot.define do
41
+ factory :non_admin_user, class: ::EacUsersSupport::User do
42
+ email { 'nonadmin@example.com' }
43
+ password { 'mysecret' }
44
+ confirmed_at { ::Time.zone.now }
45
+ end
46
+ end
47
+ end
48
+
49
+ def setup_admin_example # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
50
+ ::RSpec.shared_context 'when user is admin', shared_context: :metadata do
51
+ let(:user) { ::FactoryBot.create(:admin_user) }
52
+
53
+ before do
54
+ visit '/users/sign_in'
55
+ fill_in ::I18n.translate!('activerecord.attributes.eac_users_support/user.email'),
56
+ with: user.email
57
+ fill_in ::I18n.translate!('activerecord.attributes.eac_users_support/user.password'),
58
+ with: user.password
59
+ click_button ::I18n.translate!('devise.log_in')
60
+ end
61
+
62
+ it 'user should be logged' do
63
+ expect(page).to have_content user.email
64
+ expect(::EacUsersSupport::User.current_user).not_to be_nil
65
+ end
66
+ end
67
+ end
68
+
69
+ def setup_non_admin_example # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
70
+ ::RSpec.shared_context 'when user is non admin', shared_context: :metadata do
71
+ let(:user) { ::FactoryBot.create(:non_admin_user) }
72
+
73
+ before do
74
+ visit '/users/sign_in'
75
+ fill_in ::I18n.translate!('activerecord.attributes.eac_users_support/user.email'),
76
+ with: user.email
77
+ fill_in ::I18n.translate!('activerecord.attributes.eac_users_support/user.password'),
78
+ with: user.password
79
+ click_button ::I18n.translate!('devise.log_in')
80
+ end
81
+
82
+ it 'user should be logged' do
83
+ expect(page).to have_content user.email
84
+ expect(::EacUsersSupport::User.current_user).not_to be_nil
85
+ end
86
+ end
87
+ end
88
+
89
+ def setup_anonymous_example # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
90
+ ::RSpec.shared_context 'when user is anonymous', shared_context: :metadata do
91
+ before do
92
+ visit '/'
93
+ if link_exist?(::I18n.translate!('devise.log_out'))
94
+ click_link(::I18n.translate!('devise.log_out'))
95
+ elsif !link_exist?(::I18n.translate!('devise.log_in'))
96
+ raise 'login nor logout link found'
97
+ end
98
+ end
99
+
100
+ it 'user should be not logged' do
101
+ expect(::EacUsersSupport::User.current_user).to be_nil
102
+ end
103
+
104
+ def link_exist?(locator) # rubocop:disable Lint/NestedMethodDefinition
105
+ find_link(locator)
106
+ true
107
+ rescue Capybara::ElementNotFound
108
+ false
109
+ end
110
+ end
111
+ end
112
+ end
113
+ end
114
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacRailsBase0
4
- VERSION = '0.52.2'
4
+ VERSION = '0.55.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eac_rails_base0
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.52.2
4
+ version: 0.55.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esquilo Azul Company
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-04-01 00:00:00.000000000 Z
11
+ date: 2021-08-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_scaffold
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0.2'
47
+ version: '0.6'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0.2'
54
+ version: '0.6'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bootstrap-sass
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -86,20 +86,6 @@ dependencies:
86
86
  - - ">="
87
87
  - !ruby/object:Gem::Version
88
88
  version: 0.4.1
89
- - !ruby/object:Gem::Dependency
90
- name: byebug
91
- requirement: !ruby/object:Gem::Requirement
92
- requirements:
93
- - - ">="
94
- - !ruby/object:Gem::Version
95
- version: '0'
96
- type: :runtime
97
- prerelease: false
98
- version_requirements: !ruby/object:Gem::Requirement
99
- requirements:
100
- - - ">="
101
- - !ruby/object:Gem::Version
102
- version: '0'
103
89
  - !ruby/object:Gem::Dependency
104
90
  name: can_can_dry
105
91
  requirement: !ruby/object:Gem::Requirement
@@ -114,20 +100,6 @@ dependencies:
114
100
  - - "~>"
115
101
  - !ruby/object:Gem::Version
116
102
  version: '0.5'
117
- - !ruby/object:Gem::Dependency
118
- name: capybara
119
- requirement: !ruby/object:Gem::Requirement
120
- requirements:
121
- - - ">="
122
- - !ruby/object:Gem::Version
123
- version: '0'
124
- type: :runtime
125
- prerelease: false
126
- version_requirements: !ruby/object:Gem::Requirement
127
- requirements:
128
- - - ">="
129
- - !ruby/object:Gem::Version
130
- version: '0'
131
103
  - !ruby/object:Gem::Dependency
132
104
  name: carrierwave
133
105
  requirement: !ruby/object:Gem::Requirement
@@ -163,39 +135,39 @@ dependencies:
163
135
  - !ruby/object:Gem::Version
164
136
  version: 4.2.2
165
137
  - !ruby/object:Gem::Dependency
166
- name: eac_rails_utils
138
+ name: eac_cli
167
139
  requirement: !ruby/object:Gem::Requirement
168
140
  requirements:
169
141
  - - "~>"
170
142
  - !ruby/object:Gem::Version
171
- version: '0.10'
143
+ version: '0.21'
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: 0.21.1
172
147
  type: :runtime
173
148
  prerelease: false
174
149
  version_requirements: !ruby/object:Gem::Requirement
175
150
  requirements:
176
151
  - - "~>"
177
152
  - !ruby/object:Gem::Version
178
- version: '0.10'
153
+ version: '0.21'
154
+ - - ">="
155
+ - !ruby/object:Gem::Version
156
+ version: 0.21.1
179
157
  - !ruby/object:Gem::Dependency
180
- name: eac_ruby_gem_support
158
+ name: eac_rails_utils
181
159
  requirement: !ruby/object:Gem::Requirement
182
160
  requirements:
183
161
  - - "~>"
184
162
  - !ruby/object:Gem::Version
185
- version: '0.1'
186
- - - ">="
187
- - !ruby/object:Gem::Version
188
- version: 0.1.1
163
+ version: '0.10'
189
164
  type: :runtime
190
165
  prerelease: false
191
166
  version_requirements: !ruby/object:Gem::Requirement
192
167
  requirements:
193
168
  - - "~>"
194
169
  - !ruby/object:Gem::Version
195
- version: '0.1'
196
- - - ">="
197
- - !ruby/object:Gem::Version
198
- version: 0.1.1
170
+ version: '0.10'
199
171
  - !ruby/object:Gem::Dependency
200
172
  name: eac_ruby_gems_utils
201
173
  requirement: !ruby/object:Gem::Requirement
@@ -222,48 +194,34 @@ dependencies:
222
194
  requirements:
223
195
  - - "~>"
224
196
  - !ruby/object:Gem::Version
225
- version: '0.32'
197
+ version: '0.74'
226
198
  type: :runtime
227
199
  prerelease: false
228
200
  version_requirements: !ruby/object:Gem::Requirement
229
201
  requirements:
230
202
  - - "~>"
231
203
  - !ruby/object:Gem::Version
232
- version: '0.32'
204
+ version: '0.74'
233
205
  - !ruby/object:Gem::Dependency
234
206
  name: eac_users_support
235
207
  requirement: !ruby/object:Gem::Requirement
236
208
  requirements:
237
209
  - - "~>"
238
210
  - !ruby/object:Gem::Version
239
- version: '0.8'
211
+ version: '0.9'
240
212
  - - ">="
241
213
  - !ruby/object:Gem::Version
242
- version: 0.8.2
214
+ version: 0.9.3
243
215
  type: :runtime
244
216
  prerelease: false
245
217
  version_requirements: !ruby/object:Gem::Requirement
246
218
  requirements:
247
219
  - - "~>"
248
220
  - !ruby/object:Gem::Version
249
- version: '0.8'
221
+ version: '0.9'
250
222
  - - ">="
251
223
  - !ruby/object:Gem::Version
252
- version: 0.8.2
253
- - !ruby/object:Gem::Dependency
254
- name: factory_bot_rails
255
- requirement: !ruby/object:Gem::Requirement
256
- requirements:
257
- - - "~>"
258
- - !ruby/object:Gem::Version
259
- version: '4.0'
260
- type: :runtime
261
- prerelease: false
262
- version_requirements: !ruby/object:Gem::Requirement
263
- requirements:
264
- - - "~>"
265
- - !ruby/object:Gem::Version
266
- version: '4.0'
224
+ version: 0.9.3
267
225
  - !ruby/object:Gem::Dependency
268
226
  name: fog-aws
269
227
  requirement: !ruby/object:Gem::Requirement
@@ -424,20 +382,6 @@ dependencies:
424
382
  - - ">="
425
383
  - !ruby/object:Gem::Version
426
384
  version: 3.10.1
427
- - !ruby/object:Gem::Dependency
428
- name: rspec-rails
429
- requirement: !ruby/object:Gem::Requirement
430
- requirements:
431
- - - "~>"
432
- - !ruby/object:Gem::Version
433
- version: '3.7'
434
- type: :runtime
435
- prerelease: false
436
- version_requirements: !ruby/object:Gem::Requirement
437
- requirements:
438
- - - "~>"
439
- - !ruby/object:Gem::Version
440
- version: '3.7'
441
385
  - !ruby/object:Gem::Dependency
442
386
  name: sass-rails
443
387
  requirement: !ruby/object:Gem::Requirement
@@ -522,20 +466,6 @@ dependencies:
522
466
  - - ">="
523
467
  - !ruby/object:Gem::Version
524
468
  version: 1.3.0
525
- - !ruby/object:Gem::Dependency
526
- name: web-console
527
- requirement: !ruby/object:Gem::Requirement
528
- requirements:
529
- - - "~>"
530
- - !ruby/object:Gem::Version
531
- version: '2.0'
532
- type: :runtime
533
- prerelease: false
534
- version_requirements: !ruby/object:Gem::Requirement
535
- requirements:
536
- - - "~>"
537
- - !ruby/object:Gem::Version
538
- version: '2.0'
539
469
  - !ruby/object:Gem::Dependency
540
470
  name: pg
541
471
  requirement: !ruby/object:Gem::Requirement
@@ -564,6 +494,20 @@ dependencies:
564
494
  - - ">="
565
495
  - !ruby/object:Gem::Version
566
496
  version: '0'
497
+ - !ruby/object:Gem::Dependency
498
+ name: eac_rails_gem_support
499
+ requirement: !ruby/object:Gem::Requirement
500
+ requirements:
501
+ - - "~>"
502
+ - !ruby/object:Gem::Version
503
+ version: '0.3'
504
+ type: :development
505
+ prerelease: false
506
+ version_requirements: !ruby/object:Gem::Requirement
507
+ requirements:
508
+ - - "~>"
509
+ - !ruby/object:Gem::Version
510
+ version: '0.3'
567
511
  description:
568
512
  email:
569
513
  executables:
@@ -619,6 +563,7 @@ files:
619
563
  - config/initializers/mime_types.rb
620
564
  - config/initializers/patches.rb
621
565
  - config/initializers/session_store.rb
566
+ - config/initializers/speaker.rb
622
567
  - config/initializers/wrap_parameters.rb
623
568
  - config/locales/en.yml
624
569
  - config/locales/pt-BR.yml
@@ -657,15 +602,12 @@ files:
657
602
  - lib/eac_rails_base0/app_generator/templates/config/routes.rb
658
603
  - lib/eac_rails_base0/app_generator/templates/gitignore
659
604
  - lib/eac_rails_base0/app_generator/templates/lib/local_plugins.rb
660
- - lib/eac_rails_base0/boolean_value.rb
661
605
  - lib/eac_rails_base0/engine.rb
662
606
  - lib/eac_rails_base0/gems.rb
663
607
  - lib/eac_rails_base0/patches/eac_rails_utils_links_helper_patch.rb
664
608
  - lib/eac_rails_base0/patches/url_for_patch.rb
665
- - lib/eac_rails_base0/spec_helper.rb
666
- - lib/eac_rails_base0/spec_helper/capybara.rb
667
- - lib/eac_rails_base0/spec_helper/eac_users_support.rb
668
- - lib/eac_rails_base0/spec_helper/factory_bot.rb
609
+ - lib/eac_rails_base0/rspec.rb
610
+ - lib/eac_rails_base0/rspec/setup.rb
669
611
  - lib/eac_rails_base0/version.rb
670
612
  - lib/eac_rails_base0/x_engine.rb
671
613
  - lib/fog.rb
@@ -702,7 +644,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
702
644
  - !ruby/object:Gem::Version
703
645
  version: '0'
704
646
  requirements: []
705
- rubygems_version: 3.0.9
647
+ rubygems_version: 3.1.6
706
648
  signing_key:
707
649
  specification_version: 4
708
650
  summary: A Rails base for multiple Rails projects developed by Esquilo Azul Company.
@@ -1,16 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacRailsBase0
4
- class BooleanValue
5
- def self.to_b(object)
6
- return false if object.blank?
7
-
8
- if object.is_a?(String)
9
- object = object.strip
10
- object.present? && object != '0' && object != 'false'
11
- else
12
- object ? true : false
13
- end
14
- end
15
- end
16
- end
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- begin
4
- ActiveRecord::Migration.maintain_test_schema!
5
- rescue ActiveRecord::PendingMigrationError => e
6
- ::Rails.logger.fatal(e)
7
- ::Kernel.exit 1 # rubocop:disable Rails/Exit
8
- end
9
-
10
- RSpec.configure do |config|
11
- config.expect_with :rspec do |expectations|
12
- expectations.include_chain_clauses_in_custom_matcher_descriptions = true
13
- end
14
-
15
- config.mock_with :rspec do |mocks|
16
- mocks.verify_partial_doubles = true
17
- end
18
-
19
- config.shared_context_metadata_behavior = :apply_to_host_groups
20
- config.example_status_persistence_file_path = ::Rails.root.join('tmp', 'cache', 'rspec.txt')
21
- config.fixture_path = "#{::Rails.root}/spec/fixtures"
22
- config.use_transactional_fixtures = true
23
- config.infer_spec_type_from_file_location!
24
- config.filter_rails_from_backtrace!
25
- end
26
-
27
- require 'eac_ruby_utils/require_sub'
28
- ::EacRubyUtils.require_sub __FILE__
29
- require 'aranha/parsers/spec/source_target_fixtures_example'
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'capybara/rspec'
4
-
5
- RSpec.configure do |config|
6
- config.include Capybara::DSL, file_path: 'spec/requests'
7
- end
@@ -1,84 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'devise'
4
- require_relative 'factory_bot'
5
-
6
- RSpec.configure do |config|
7
- config.include Warden::Test::Helpers
8
-
9
- config.after(:each) do
10
- Warden.test_reset!
11
- end
12
- end
13
-
14
- FactoryBot.define do
15
- factory :admin_user, class: ::EacUsersSupport::User do
16
- email { 'admin@example.com' }
17
- password { 'mysecret' }
18
- confirmed_at { ::Time.zone.now }
19
- end
20
-
21
- factory :non_admin_user, class: ::EacUsersSupport::User do
22
- email { 'nonadmin@example.com' }
23
- password { 'mysecret' }
24
- confirmed_at { ::Time.zone.now }
25
- end
26
- end
27
-
28
- RSpec.shared_context 'when user is admin', shared_context: :metadata do
29
- let(:user) { ::FactoryBot.create(:admin_user) }
30
-
31
- before do
32
- visit '/users/sign_in'
33
- fill_in ::I18n.translate!('activerecord.attributes.eac_users_support/user.email'),
34
- with: user.email
35
- fill_in ::I18n.translate!('activerecord.attributes.eac_users_support/user.password'),
36
- with: user.password
37
- click_button ::I18n.translate!('devise.log_in')
38
- end
39
-
40
- it 'user should be logged' do
41
- expect(page).to have_content user.email
42
- expect(::EacUsersSupport::User.current_user).not_to be_nil
43
- end
44
- end
45
-
46
- RSpec.shared_context 'when user is non admin', shared_context: :metadata do
47
- let(:user) { ::FactoryBot.create(:non_admin_user) }
48
-
49
- before do
50
- visit '/users/sign_in'
51
- fill_in ::I18n.translate!('activerecord.attributes.eac_users_support/user.email'),
52
- with: user.email
53
- fill_in ::I18n.translate!('activerecord.attributes.eac_users_support/user.password'),
54
- with: user.password
55
- click_button ::I18n.translate!('devise.log_in')
56
- end
57
-
58
- it 'user should be logged' do
59
- expect(page).to have_content user.email
60
- expect(::EacUsersSupport::User.current_user).not_to be_nil
61
- end
62
- end
63
-
64
- RSpec.shared_context 'when user is anonymous', shared_context: :metadata do
65
- before do
66
- visit '/'
67
- if link_exist?(::I18n.translate!('devise.log_out'))
68
- click_link(::I18n.translate!('devise.log_out'))
69
- elsif !link_exist?(::I18n.translate!('devise.log_in'))
70
- raise 'login nor logout link found'
71
- end
72
- end
73
-
74
- it 'user should be not logged' do
75
- expect(::EacUsersSupport::User.current_user).to be_nil
76
- end
77
-
78
- def link_exist?(locator)
79
- find_link(locator)
80
- true
81
- rescue Capybara::ElementNotFound
82
- false
83
- end
84
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'factory_bot_rails'
4
-
5
- RSpec.configure do |config|
6
- config.include FactoryBot::Syntax::Methods
7
- end
8
-
9
- ::FactoryBot.definition_file_paths += ::EacRailsBase0::XEngine.local.flat_map do |engine|
10
- %w[factories test/factories spec/factories].map do |subpath|
11
- engine.config.root.join(subpath).to_path
12
- end
13
- end
14
-
15
- ::FactoryBot.find_definitions
16
-
17
- Spring.after_fork { FactoryBot.reload } if defined?(Spring)