potassium 6.1.0 → 6.5.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/.circleci/config.yml +103 -38
- data/.circleci/setup-rubygems.sh +3 -0
- data/.gitignore +2 -1
- data/.node-version +1 -1
- data/.rubocop.yml +530 -0
- data/CHANGELOG.md +50 -1
- data/README.md +11 -3
- data/lib/potassium/assets/.circleci/config.yml.erb +107 -40
- data/lib/potassium/assets/.pryrc +0 -6
- data/lib/potassium/assets/.rubocop.yml +13 -0
- data/lib/potassium/assets/README.yml +45 -8
- data/lib/potassium/assets/active_admin/policies/admin_user_policy.rb +2 -0
- data/lib/potassium/assets/active_admin/policies/comment_policy.rb +2 -0
- data/lib/potassium/assets/active_admin/policies/default_policy.rb +49 -0
- data/lib/potassium/assets/active_admin/policies/page_policy.rb +2 -0
- data/lib/potassium/assets/app/javascript/app.spec.js +1 -1
- data/lib/potassium/assets/app/views/shared/_gtm_body.html.erb +4 -0
- data/lib/potassium/assets/app/views/shared/_gtm_head.html.erb +7 -0
- data/lib/potassium/assets/testing/.rspec +1 -0
- data/lib/potassium/assets/testing/devise_config.rb +6 -0
- data/lib/potassium/assets/testing/factory_bot_config.rb +3 -0
- data/lib/potassium/assets/testing/faker_config.rb +1 -0
- data/lib/potassium/assets/testing/power_types_config.rb +1 -0
- data/lib/potassium/assets/testing/rails_helper.rb +130 -49
- data/lib/potassium/assets/testing/shoulda_matchers_config.rb +8 -0
- data/lib/potassium/assets/testing/simplecov_config.rb +64 -0
- data/lib/potassium/assets/testing/system_tests_config.rb +6 -0
- data/lib/potassium/cli_options.rb +19 -3
- data/lib/potassium/helpers/template-helpers.rb +4 -0
- data/lib/potassium/recipes/admin.rb +27 -17
- data/lib/potassium/recipes/api.rb +2 -0
- data/lib/potassium/recipes/background_processor.rb +43 -32
- data/lib/potassium/recipes/ci.rb +9 -39
- data/lib/potassium/recipes/coverage.rb +35 -0
- data/lib/potassium/recipes/file_storage.rb +1 -1
- data/lib/potassium/recipes/front_end.rb +26 -13
- data/lib/potassium/recipes/google_tag_manager.rb +94 -0
- data/lib/potassium/recipes/heroku.rb +43 -31
- data/lib/potassium/recipes/mailer.rb +18 -5
- data/lib/potassium/recipes/monitoring.rb +5 -0
- data/lib/potassium/recipes/pundit.rb +29 -10
- data/lib/potassium/recipes/rails.rb +0 -4
- data/lib/potassium/recipes/schedule.rb +16 -1
- data/lib/potassium/recipes/spring.rb +9 -0
- data/lib/potassium/recipes/style.rb +2 -2
- data/lib/potassium/recipes/testing.rb +75 -18
- data/lib/potassium/templates/application.rb +7 -2
- data/lib/potassium/version.rb +7 -4
- data/potassium.gemspec +3 -1
- data/spec/features/background_processor_spec.rb +7 -5
- data/spec/features/ci_spec.rb +7 -4
- data/spec/features/coverage_spec.rb +26 -0
- data/spec/features/front_end_spec.rb +18 -1
- data/spec/features/google_tag_manager_spec.rb +36 -0
- data/spec/features/heroku_spec.rb +0 -4
- data/spec/features/mailer_spec.rb +16 -0
- data/spec/features/node_spec.rb +1 -1
- data/spec/features/pundit_spec.rb +34 -0
- data/spec/features/schedule_spec.rb +11 -4
- data/spec/features/testing_spec.rb +56 -0
- data/spec/support/potassium_test_helpers.rb +2 -3
- data/tmp/.keep +0 -0
- metadata +64 -15
- data/lib/potassium/assets/Dockerfile.ci +0 -6
- data/lib/potassium/assets/active_admin/admin_user_policy.rb +0 -2
- data/lib/potassium/assets/active_admin/comment_policy.rb +0 -2
- data/lib/potassium/assets/active_admin/pundit_page_policy.rb +0 -5
- data/lib/potassium/assets/bin/cibuild.erb +0 -117
- data/lib/potassium/assets/docker-compose.ci.yml +0 -12
- data/lib/potassium/assets/sidekiq_scheduler.yml +0 -9
@@ -4,6 +4,7 @@ RSpec.describe "Mailer" do
|
|
4
4
|
let(:gemfile) { IO.read("#{project_path}/Gemfile") }
|
5
5
|
let(:mailer_config) { IO.read("#{project_path}/config/mailer.rb") }
|
6
6
|
let(:dev_config) { IO.read("#{project_path}/config/environments/development.rb") }
|
7
|
+
let(:sidekiq_config) { IO.read("#{project_path}/config/sidekiq.yml") }
|
7
8
|
|
8
9
|
before(:all) { drop_dummy_database }
|
9
10
|
|
@@ -26,6 +27,8 @@ RSpec.describe "Mailer" do
|
|
26
27
|
expect(dev_config).to include("sendgrid_dev_settings = {")
|
27
28
|
expect(dev_config).to include("api_key: ENV['SENDGRID_API_KEY']")
|
28
29
|
end
|
30
|
+
|
31
|
+
it { expect(sidekiq_config).to include("- mailers") }
|
29
32
|
end
|
30
33
|
|
31
34
|
context "when selecting aws_ses as mailer" do
|
@@ -38,5 +41,18 @@ RSpec.describe "Mailer" do
|
|
38
41
|
it { expect(gemfile).to include("letter_opener") }
|
39
42
|
it { expect(mailer_config).to include("delivery_method = :aws_sdk") }
|
40
43
|
it { expect(dev_config).to include("delivery_method = :letter_opener") }
|
44
|
+
it { expect(sidekiq_config).to include("- mailers") }
|
45
|
+
end
|
46
|
+
|
47
|
+
context "when selecting a mailer and sidekiq" do
|
48
|
+
before :all do
|
49
|
+
drop_dummy_database
|
50
|
+
remove_project_directory
|
51
|
+
create_dummy_project(
|
52
|
+
"background_processor" => true, "email_service" => 'sendgrid'
|
53
|
+
)
|
54
|
+
end
|
55
|
+
|
56
|
+
it { expect(sidekiq_config).to include("- mailers") }
|
41
57
|
end
|
42
58
|
end
|
data/spec/features/node_spec.rb
CHANGED
@@ -0,0 +1,34 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
RSpec.describe "Pundit" do
|
4
|
+
before :all do
|
5
|
+
drop_dummy_database
|
6
|
+
remove_project_directory
|
7
|
+
create_dummy_project("pundit" => true, "devise" => true, "admin" => true)
|
8
|
+
end
|
9
|
+
|
10
|
+
it "adds the Pundit gem to Gemfile" do
|
11
|
+
content = IO.read("#{project_path}/Gemfile")
|
12
|
+
|
13
|
+
expect(content).to include("gem 'pundit'")
|
14
|
+
end
|
15
|
+
|
16
|
+
it "setup active admin" do
|
17
|
+
content = IO.read("#{project_path}/config/initializers/active_admin.rb")
|
18
|
+
|
19
|
+
expect(content).to include("config.authorization_adapter = ActiveAdmin::PunditAdapter")
|
20
|
+
expect(content).to include("config.pundit_default_policy = 'BackOffice::DefaultPolicy'")
|
21
|
+
expect(content).to include("config.pundit_policy_namespace = :back_office")
|
22
|
+
end
|
23
|
+
|
24
|
+
it "creates default policy" do
|
25
|
+
content = IO.read("#{project_path}/app/policies/back_office/default_policy.rb")
|
26
|
+
|
27
|
+
expect(content).to include("class BackOffice::DefaultPolicy")
|
28
|
+
end
|
29
|
+
|
30
|
+
it "modifies the README file" do
|
31
|
+
readme = IO.read("#{project_path}/README.md")
|
32
|
+
expect(readme).to include("from `BackOffice::DefaultPolicy`")
|
33
|
+
end
|
34
|
+
end
|
@@ -1,10 +1,14 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
3
|
RSpec.describe "schedule" do
|
4
|
+
let(:sidekiq_config) { IO.read("#{project_path}/config/sidekiq.yml") }
|
5
|
+
|
4
6
|
before :all do
|
5
7
|
drop_dummy_database
|
6
8
|
remove_project_directory
|
7
|
-
create_dummy_project(
|
9
|
+
create_dummy_project(
|
10
|
+
"schedule" => true, "background_processor" => true, "email_service" => "sendgrid"
|
11
|
+
)
|
8
12
|
end
|
9
13
|
|
10
14
|
it "adds the sidekiq-scheduler gem to Gemfile" do
|
@@ -12,9 +16,12 @@ RSpec.describe "schedule" do
|
|
12
16
|
expect(gemfile_content).to include("gem 'sidekiq-scheduler'")
|
13
17
|
end
|
14
18
|
|
15
|
-
it "
|
16
|
-
|
17
|
-
|
19
|
+
it "adds schedule section to sidekiq config" do
|
20
|
+
expect(sidekiq_config).to include(":schedule:")
|
21
|
+
end
|
22
|
+
|
23
|
+
it "doesn't remove mailers queue" do
|
24
|
+
expect(sidekiq_config).to include("- mailers")
|
18
25
|
end
|
19
26
|
|
20
27
|
it "adds scheduler ui to the sidekiq initializer" do
|
@@ -0,0 +1,56 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
RSpec.describe "Testing" do
|
4
|
+
let(:gemfile_content) { IO.read("#{project_path}/Gemfile") }
|
5
|
+
let(:rails_helper_content) { IO.read("#{project_path}/spec/rails_helper.rb") }
|
6
|
+
let(:rspec_content) { IO.read("#{project_path}/.rspec") }
|
7
|
+
|
8
|
+
let(:support_directories) do
|
9
|
+
%w{
|
10
|
+
custom_matchers
|
11
|
+
shared_examples
|
12
|
+
configurations
|
13
|
+
helpers
|
14
|
+
}
|
15
|
+
end
|
16
|
+
|
17
|
+
let(:conf_files) do
|
18
|
+
%w{
|
19
|
+
factory_bot_config.rb
|
20
|
+
power_types_config.rb
|
21
|
+
shoulda_matchers_config.rb
|
22
|
+
devise_config.rb
|
23
|
+
system_tests_config.rb
|
24
|
+
faker_config.rb
|
25
|
+
}
|
26
|
+
end
|
27
|
+
|
28
|
+
before(:all) do
|
29
|
+
drop_dummy_database
|
30
|
+
remove_project_directory
|
31
|
+
create_dummy_project(devise: true)
|
32
|
+
end
|
33
|
+
|
34
|
+
it { expect(gemfile_content).to include("gem 'rspec-rails'") }
|
35
|
+
it { expect(gemfile_content).to include('rspec-rails') }
|
36
|
+
it { expect(gemfile_content).to include('factory_bot_rails') }
|
37
|
+
it { expect(gemfile_content).to include('faker') }
|
38
|
+
it { expect(gemfile_content).to include('guard-rspec') }
|
39
|
+
it { expect(gemfile_content).to include('rspec-nc') }
|
40
|
+
it { expect(gemfile_content).to include('shoulda-matchers') }
|
41
|
+
it { expect(gemfile_content).to include('capybara') }
|
42
|
+
it { expect(gemfile_content).to include('webdrivers') }
|
43
|
+
|
44
|
+
it { expect(rails_helper_content).to include("require 'spec_helper'") }
|
45
|
+
it { expect(rails_helper_content).to include("config.filter_run_when_matching :focus") }
|
46
|
+
|
47
|
+
it { expect(rspec_content).to include("--require rails_helper") }
|
48
|
+
it { expect(Dir.entries("#{project_path}/spec/support")).to include(*support_directories) }
|
49
|
+
it { expect(Dir.entries("#{project_path}/spec/support/configurations")).to include(*conf_files) }
|
50
|
+
|
51
|
+
it { expect(IO.read("#{project_path}/bin/rspec")).to include('path("rspec-core", "rspec")') }
|
52
|
+
it { expect(IO.read("#{project_path}/Guardfile")).to include(':rspec, cmd: "bin/rspec"') }
|
53
|
+
it { expect(IO.read("#{project_path}/bin/guard")).to include('path("guard", "guard")') }
|
54
|
+
|
55
|
+
it { expect(IO.read("#{project_path}/README.md")).to include("To run unit test") }
|
56
|
+
end
|
@@ -17,12 +17,11 @@ module PotassiumTestHelpers
|
|
17
17
|
|
18
18
|
def create_dummy_project(arguments = {})
|
19
19
|
Dir.chdir(tmp_path) do
|
20
|
-
Bundler.
|
20
|
+
Bundler.with_unbundled_env do
|
21
21
|
add_fakes_to_path
|
22
22
|
add_project_bin_to_path
|
23
23
|
full_arguments = hash_to_arguments(create_arguments(true).merge(arguments))
|
24
24
|
run_command("#{potassium_bin} create #{APP_NAME} #{full_arguments}")
|
25
|
-
on_project { run_command("hound rules update ruby --local") }
|
26
25
|
end
|
27
26
|
end
|
28
27
|
end
|
@@ -47,7 +46,7 @@ module PotassiumTestHelpers
|
|
47
46
|
|
48
47
|
def on_project(&block)
|
49
48
|
Dir.chdir(project_path) do
|
50
|
-
Bundler.
|
49
|
+
Bundler.with_unbundled_env do
|
51
50
|
block.call
|
52
51
|
end
|
53
52
|
end
|
data/tmp/.keep
ADDED
File without changes
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: potassium
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.
|
4
|
+
version: 6.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- juliogarciag
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-01-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -86,16 +86,30 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
89
|
+
version: '1.9'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
96
|
+
version: '1.9'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name: rubocop-
|
98
|
+
name: rubocop-performance
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: rubocop-rails
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
100
114
|
requirements:
|
101
115
|
- - ">="
|
@@ -108,6 +122,20 @@ dependencies:
|
|
108
122
|
- - ">="
|
109
123
|
- !ruby/object:Gem::Version
|
110
124
|
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: rubocop-rspec
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '2.2'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '2.2'
|
111
139
|
- !ruby/object:Gem::Dependency
|
112
140
|
name: gems
|
113
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -184,14 +212,14 @@ dependencies:
|
|
184
212
|
requirements:
|
185
213
|
- - "~>"
|
186
214
|
- !ruby/object:Gem::Version
|
187
|
-
version: 6.
|
215
|
+
version: 6.1.4.4
|
188
216
|
type: :runtime
|
189
217
|
prerelease: false
|
190
218
|
version_requirements: !ruby/object:Gem::Requirement
|
191
219
|
requirements:
|
192
220
|
- - "~>"
|
193
221
|
- !ruby/object:Gem::Version
|
194
|
-
version: 6.
|
222
|
+
version: 6.1.4.4
|
195
223
|
- !ruby/object:Gem::Dependency
|
196
224
|
name: semantic
|
197
225
|
requirement: !ruby/object:Gem::Requirement
|
@@ -216,10 +244,12 @@ extensions: []
|
|
216
244
|
extra_rdoc_files: []
|
217
245
|
files:
|
218
246
|
- ".circleci/config.yml"
|
247
|
+
- ".circleci/setup-rubygems.sh"
|
219
248
|
- ".editorconfig"
|
220
249
|
- ".gitignore"
|
221
250
|
- ".node-version"
|
222
251
|
- ".rspec"
|
252
|
+
- ".rubocop.yml"
|
223
253
|
- ".ruby-version"
|
224
254
|
- CHANGELOG.md
|
225
255
|
- Gemfile
|
@@ -241,17 +271,17 @@ files:
|
|
241
271
|
- lib/potassium/assets/.pryrc
|
242
272
|
- lib/potassium/assets/.rubocop.yml
|
243
273
|
- lib/potassium/assets/.stylelintrc.json
|
244
|
-
- lib/potassium/assets/Dockerfile.ci
|
245
274
|
- lib/potassium/assets/Makefile.erb
|
246
275
|
- lib/potassium/assets/Procfile
|
247
276
|
- lib/potassium/assets/README.md.erb
|
248
277
|
- lib/potassium/assets/README.yml
|
249
278
|
- lib/potassium/assets/active_admin/admin-component.vue
|
250
279
|
- lib/potassium/assets/active_admin/admin_application.js
|
251
|
-
- lib/potassium/assets/active_admin/admin_user_policy.rb
|
252
|
-
- lib/potassium/assets/active_admin/comment_policy.rb
|
253
280
|
- lib/potassium/assets/active_admin/init_activeadmin_vue.rb
|
254
|
-
- lib/potassium/assets/active_admin/
|
281
|
+
- lib/potassium/assets/active_admin/policies/admin_user_policy.rb
|
282
|
+
- lib/potassium/assets/active_admin/policies/comment_policy.rb
|
283
|
+
- lib/potassium/assets/active_admin/policies/default_policy.rb
|
284
|
+
- lib/potassium/assets/active_admin/policies/page_policy.rb
|
255
285
|
- lib/potassium/assets/app/graphql/graphql_controller.rb
|
256
286
|
- lib/potassium/assets/app/graphql/mutations/login_mutation.rb
|
257
287
|
- lib/potassium/assets/app/graphql/queries/base_query.rb
|
@@ -269,7 +299,8 @@ files:
|
|
269
299
|
- lib/potassium/assets/app/mailers/application_mailer.rb
|
270
300
|
- lib/potassium/assets/app/uploaders/base_uploader.rb
|
271
301
|
- lib/potassium/assets/app/uploaders/image_uploader.rb
|
272
|
-
- lib/potassium/assets/
|
302
|
+
- lib/potassium/assets/app/views/shared/_gtm_body.html.erb
|
303
|
+
- lib/potassium/assets/app/views/shared/_gtm_head.html.erb
|
273
304
|
- lib/potassium/assets/bin/release
|
274
305
|
- lib/potassium/assets/bin/setup.erb
|
275
306
|
- lib/potassium/assets/bin/setup_heroku.erb
|
@@ -283,7 +314,6 @@ files:
|
|
283
314
|
- lib/potassium/assets/config/sentry.rb.erb
|
284
315
|
- lib/potassium/assets/config/shrine.rb
|
285
316
|
- lib/potassium/assets/config/storage.yml
|
286
|
-
- lib/potassium/assets/docker-compose.ci.yml
|
287
317
|
- lib/potassium/assets/docker-compose.yml
|
288
318
|
- lib/potassium/assets/es-CL.yml
|
289
319
|
- lib/potassium/assets/lib/tasks/auto_annotate_models.rake
|
@@ -295,10 +325,16 @@ files:
|
|
295
325
|
- lib/potassium/assets/seeds/seeds.rb
|
296
326
|
- lib/potassium/assets/sidekiq.rb.erb
|
297
327
|
- lib/potassium/assets/sidekiq.yml
|
298
|
-
- lib/potassium/assets/sidekiq_scheduler.yml
|
299
328
|
- lib/potassium/assets/testing/.rspec
|
329
|
+
- lib/potassium/assets/testing/devise_config.rb
|
330
|
+
- lib/potassium/assets/testing/factory_bot_config.rb
|
331
|
+
- lib/potassium/assets/testing/faker_config.rb
|
300
332
|
- lib/potassium/assets/testing/platanus.png
|
333
|
+
- lib/potassium/assets/testing/power_types_config.rb
|
301
334
|
- lib/potassium/assets/testing/rails_helper.rb
|
335
|
+
- lib/potassium/assets/testing/shoulda_matchers_config.rb
|
336
|
+
- lib/potassium/assets/testing/simplecov_config.rb
|
337
|
+
- lib/potassium/assets/testing/system_tests_config.rb
|
302
338
|
- lib/potassium/cli.rb
|
303
339
|
- lib/potassium/cli/commands/create.rb
|
304
340
|
- lib/potassium/cli/commands/install.rb
|
@@ -326,6 +362,7 @@ files:
|
|
326
362
|
- lib/potassium/recipes/better_errors.rb
|
327
363
|
- lib/potassium/recipes/ci.rb
|
328
364
|
- lib/potassium/recipes/cleanup.rb
|
365
|
+
- lib/potassium/recipes/coverage.rb
|
329
366
|
- lib/potassium/recipes/data_migrate.rb
|
330
367
|
- lib/potassium/recipes/database.rb
|
331
368
|
- lib/potassium/recipes/database_container.rb
|
@@ -337,10 +374,12 @@ files:
|
|
337
374
|
- lib/potassium/recipes/file_storage.rb
|
338
375
|
- lib/potassium/recipes/front_end.rb
|
339
376
|
- lib/potassium/recipes/github.rb
|
377
|
+
- lib/potassium/recipes/google_tag_manager.rb
|
340
378
|
- lib/potassium/recipes/heroku.rb
|
341
379
|
- lib/potassium/recipes/i18n.rb
|
342
380
|
- lib/potassium/recipes/listen.rb
|
343
381
|
- lib/potassium/recipes/mailer.rb
|
382
|
+
- lib/potassium/recipes/monitoring.rb
|
344
383
|
- lib/potassium/recipes/node.rb
|
345
384
|
- lib/potassium/recipes/power_types.rb
|
346
385
|
- lib/potassium/recipes/pry.rb
|
@@ -354,6 +393,7 @@ files:
|
|
354
393
|
- lib/potassium/recipes/script.rb
|
355
394
|
- lib/potassium/recipes/secrets.rb
|
356
395
|
- lib/potassium/recipes/seeds.rb
|
396
|
+
- lib/potassium/recipes/spring.rb
|
357
397
|
- lib/potassium/recipes/style.rb
|
358
398
|
- lib/potassium/recipes/testing.rb
|
359
399
|
- lib/potassium/recipes/tzinfo.rb
|
@@ -371,6 +411,7 @@ files:
|
|
371
411
|
- spec/features/api_spec.rb
|
372
412
|
- spec/features/background_processor_spec.rb
|
373
413
|
- spec/features/ci_spec.rb
|
414
|
+
- spec/features/coverage_spec.rb
|
374
415
|
- spec/features/data_migrate_spec.rb
|
375
416
|
- spec/features/database_container_spec.rb
|
376
417
|
- spec/features/database_spec.rb
|
@@ -379,6 +420,7 @@ files:
|
|
379
420
|
- spec/features/file_storage_spec.rb
|
380
421
|
- spec/features/front_end_spec.rb
|
381
422
|
- spec/features/github_spec.rb
|
423
|
+
- spec/features/google_tag_manager_spec.rb
|
382
424
|
- spec/features/graphql_spec.rb
|
383
425
|
- spec/features/heroku_spec.rb
|
384
426
|
- spec/features/i18n_spec.rb
|
@@ -386,13 +428,16 @@ files:
|
|
386
428
|
- spec/features/new_project_spec.rb
|
387
429
|
- spec/features/node_spec.rb
|
388
430
|
- spec/features/power_types_spec.rb
|
431
|
+
- spec/features/pundit_spec.rb
|
389
432
|
- spec/features/schedule_spec.rb
|
433
|
+
- spec/features/testing_spec.rb
|
390
434
|
- spec/features/vue_admin_spec.rb
|
391
435
|
- spec/spec_helper.rb
|
392
436
|
- spec/support/fake_github.rb
|
393
437
|
- spec/support/fake_heroku.rb
|
394
438
|
- spec/support/fake_octokit.rb
|
395
439
|
- spec/support/potassium_test_helpers.rb
|
440
|
+
- tmp/.keep
|
396
441
|
homepage: https://github.com/platanus/potassium
|
397
442
|
licenses:
|
398
443
|
- MIT
|
@@ -412,7 +457,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
412
457
|
- !ruby/object:Gem::Version
|
413
458
|
version: '0'
|
414
459
|
requirements: []
|
415
|
-
rubygems_version: 3.
|
460
|
+
rubygems_version: 3.2.22
|
416
461
|
signing_key:
|
417
462
|
specification_version: 4
|
418
463
|
summary: An application generator from Platanus
|
@@ -422,6 +467,7 @@ test_files:
|
|
422
467
|
- spec/features/api_spec.rb
|
423
468
|
- spec/features/background_processor_spec.rb
|
424
469
|
- spec/features/ci_spec.rb
|
470
|
+
- spec/features/coverage_spec.rb
|
425
471
|
- spec/features/data_migrate_spec.rb
|
426
472
|
- spec/features/database_container_spec.rb
|
427
473
|
- spec/features/database_spec.rb
|
@@ -430,6 +476,7 @@ test_files:
|
|
430
476
|
- spec/features/file_storage_spec.rb
|
431
477
|
- spec/features/front_end_spec.rb
|
432
478
|
- spec/features/github_spec.rb
|
479
|
+
- spec/features/google_tag_manager_spec.rb
|
433
480
|
- spec/features/graphql_spec.rb
|
434
481
|
- spec/features/heroku_spec.rb
|
435
482
|
- spec/features/i18n_spec.rb
|
@@ -437,7 +484,9 @@ test_files:
|
|
437
484
|
- spec/features/new_project_spec.rb
|
438
485
|
- spec/features/node_spec.rb
|
439
486
|
- spec/features/power_types_spec.rb
|
487
|
+
- spec/features/pundit_spec.rb
|
440
488
|
- spec/features/schedule_spec.rb
|
489
|
+
- spec/features/testing_spec.rb
|
441
490
|
- spec/features/vue_admin_spec.rb
|
442
491
|
- spec/spec_helper.rb
|
443
492
|
- spec/support/fake_github.rb
|
@@ -1,117 +0,0 @@
|
|
1
|
-
#!/usr/bin/env bash
|
2
|
-
trap "exit" SIGINT SIGTERM
|
3
|
-
|
4
|
-
command -v docker >/dev/null 2>&1 && docker info >/dev/null || {
|
5
|
-
printf >&2 "\e[31mI require docker but it's not installed. Aborting.\e[0m\n"; exit 1;
|
6
|
-
}
|
7
|
-
|
8
|
-
DOCKER_COMPOSE_ARGS="-f docker-compose.ci.yml"
|
9
|
-
|
10
|
-
# Build Image
|
11
|
-
build(){
|
12
|
-
docker-compose $DOCKER_COMPOSE_ARGS build test
|
13
|
-
}
|
14
|
-
|
15
|
-
# Wait services to be ready
|
16
|
-
wait_services(){
|
17
|
-
function test_service {
|
18
|
-
docker-compose $DOCKER_COMPOSE_ARGS run --rm test sh -c "nc -z $1 $2"
|
19
|
-
}
|
20
|
-
|
21
|
-
count=0
|
22
|
-
# Chain tests together by using &&
|
23
|
-
until (
|
24
|
-
<% if(selected?(:database, :mysql) || selected?(:database, :postgresql))-%>
|
25
|
-
test_service '$DB_HOST' '$DB_PORT' && \
|
26
|
-
<% end-%>
|
27
|
-
echo "Services ready"
|
28
|
-
)
|
29
|
-
do
|
30
|
-
((count++))
|
31
|
-
if [ $count -gt 50 ]
|
32
|
-
then
|
33
|
-
echo "Services didn't become ready in time"
|
34
|
-
exit 1
|
35
|
-
else
|
36
|
-
echo "Waiting for services to become ready..."
|
37
|
-
fi
|
38
|
-
sleep 0.5
|
39
|
-
done
|
40
|
-
}
|
41
|
-
|
42
|
-
# Prepare dependencies
|
43
|
-
dependencies(){
|
44
|
-
docker-compose $DOCKER_COMPOSE_ARGS run --rm test bundle install
|
45
|
-
}
|
46
|
-
|
47
|
-
<% if selected?(:front_end, :vue) %>
|
48
|
-
yarn_dependencies(){
|
49
|
-
docker-compose $DOCKER_COMPOSE_ARGS run --rm test yarn install
|
50
|
-
}
|
51
|
-
<% end %>
|
52
|
-
|
53
|
-
assets() {
|
54
|
-
docker-compose $DOCKER_COMPOSE_ARGS run --rm test /bin/bash -c "bin/setup && bundle exec rake assets:precompile"
|
55
|
-
}
|
56
|
-
|
57
|
-
# Prepare database
|
58
|
-
database(){
|
59
|
-
docker-compose $DOCKER_COMPOSE_ARGS run --rm test bundle exec rake db:create db:schema:load
|
60
|
-
}
|
61
|
-
|
62
|
-
# Run the specs
|
63
|
-
tests(){
|
64
|
-
[ -n "$CI" ] && {
|
65
|
-
RSPEC_JUNIT_ARGS="-r rspec_junit_formatter --format RspecJunitFormatter -o $HOME/.rspec_reports/junit.xml"
|
66
|
-
RSPEC_FORMAT_ARGS="--format progress --no-color"
|
67
|
-
}
|
68
|
-
docker-compose $DOCKER_COMPOSE_ARGS run --rm test bundle exec rspec spec $RSPEC_FORMAT_ARGS $RSPEC_JUNIT_ARGS
|
69
|
-
}
|
70
|
-
|
71
|
-
<% if selected?(:front_end, :vue) %>
|
72
|
-
js_tests(){
|
73
|
-
docker-compose $DOCKER_COMPOSE_ARGS run --rm test yarn run test
|
74
|
-
}
|
75
|
-
<% end %>
|
76
|
-
|
77
|
-
# Run the complete ci build
|
78
|
-
no_ci(){
|
79
|
-
build
|
80
|
-
wait_services
|
81
|
-
dependencies
|
82
|
-
assets
|
83
|
-
database
|
84
|
-
tests
|
85
|
-
}
|
86
|
-
|
87
|
-
case "$1" in
|
88
|
-
"")
|
89
|
-
no_ci
|
90
|
-
;;
|
91
|
-
"services")
|
92
|
-
wait_services
|
93
|
-
;;
|
94
|
-
"deps"|"dependencies")
|
95
|
-
dependencies <% if selected?(:front_end, :vue) %>&& yarn_dependencies<% end %>
|
96
|
-
;;
|
97
|
-
"assets")
|
98
|
-
assets
|
99
|
-
;;
|
100
|
-
"db"|"database")
|
101
|
-
database
|
102
|
-
;;
|
103
|
-
<% if selected?(:front_end, :vue) %>
|
104
|
-
"js_tests")
|
105
|
-
js_tests
|
106
|
-
;;
|
107
|
-
<% end %>
|
108
|
-
"specs"|"tests")
|
109
|
-
tests
|
110
|
-
;;
|
111
|
-
"build")
|
112
|
-
build
|
113
|
-
;;
|
114
|
-
*)
|
115
|
-
echo "Usage: cibuild [services|deps|assets|db|specs|build]"
|
116
|
-
;;
|
117
|
-
esac
|