Skip to content

Commit c85497e

Browse files
authored
Merge pull request #343 from platanus/webpacker-tests-refactor
Webpacker tests refactor
2 parents 4ba6bd1 + b625d38 commit c85497e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+9182
-877
lines changed

.circleci/config.yml

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
version: 2.1
2+
orbs:
3+
ruby: circleci/[email protected]
4+
browser-tools: circleci/[email protected]
5+
jobs:
6+
test:
7+
parameters:
8+
ruby-version:
9+
type: string
10+
docker:
11+
- image: circleci/ruby:<< parameters.ruby-version >>-node
12+
environment:
13+
RAILS_ENV: test
14+
NODE_ENV: test
15+
BUNDLE_PATH: vendor/bundle
16+
SPROCKETS: false
17+
executor: ruby/default
18+
steps:
19+
- checkout
20+
- browser-tools/install-chrome
21+
- browser-tools/install-chromedriver
22+
- restore_cache:
23+
keys:
24+
- bundler-dependencies-{{ checksum "Gemfile.lock" }}
25+
- bundler-dependencies-
26+
- run:
27+
name: Install bundle dependencies
28+
command: |
29+
BUNDLER_VERSION=$(cat Gemfile.lock | tail -1 | tr -d " ")
30+
gem install bundler:$BUNDLER_VERSION
31+
bundle _$(echo $BUNDLER_VERSION)_ install
32+
- save_cache:
33+
key: bundler-dependencies-{{ checksum "Gemfile.lock" }}
34+
paths:
35+
- vendor/bundle
36+
- run:
37+
name: Setup database
38+
command: (cd spec/dummy && bundle exec rake db:setup)
39+
- run:
40+
name: Prepare Assets
41+
command: |
42+
bundle exec rake prepare_assets
43+
(cd spec/dummy && bundle exec rake webpacker:compile)
44+
- run:
45+
name: Utils Tests
46+
command: |
47+
RSPEC_JUNIT_ARGS="-r rspec_junit_formatter -f RspecJunitFormatter -o test_results/utils-rspec.xml"
48+
RSPEC_FORMAT_ARGS="-f progress --no-color -p 10"
49+
bundle exec rspec ./spec/lib $RSPEC_FORMAT_ARGS $RSPEC_JUNIT_ARGS
50+
- run:
51+
name: Run Webpack Tests
52+
command: |
53+
RSPEC_JUNIT_ARGS="-r rspec_junit_formatter -f RspecJunitFormatter -o test_results/webpack-rspec.xml"
54+
RSPEC_FORMAT_ARGS="-f progress --no-color -p 10"
55+
export SPROCKETS=false
56+
bundle exec rspec ./spec/features $RSPEC_FORMAT_ARGS $RSPEC_JUNIT_ARGS
57+
- run:
58+
name: Run Sprockets Tests
59+
command: |
60+
RSPEC_JUNIT_ARGS="-r rspec_junit_formatter -f RspecJunitFormatter -o test_results/sprockets-rspec.xml"
61+
RSPEC_FORMAT_ARGS="-f progress --no-color -p 10"
62+
export SPROCKETS=true
63+
bundle exec rspec ./spec/features $RSPEC_FORMAT_ARGS $RSPEC_JUNIT_ARGS
64+
- store_test_results:
65+
path: test_results
66+
workflows:
67+
version: 2
68+
test:
69+
jobs:
70+
- test:
71+
matrix:
72+
parameters:
73+
ruby-version: ["2.5", "2.6", "2.7"]

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,12 @@ spec/dummy/log/*.log
77
spec/dummy/tmp/
88
spec/dummy/.sass-cache
99
spec/dummy/public/system
10+
spec/dummy/public/packs-test
11+
spec/dummy/public/packs
1012
.gem
1113
.gemtags
1214
.tags
1315
.tags_sorted_by_file
1416
vendor/bundle
1517
node_modules
16-
src
18+
src

.rspec

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
11
--require spec_helper
22
--color
3-
--format=doc

.ruby-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.7.0
1+
2.7

.travis.yml

Lines changed: 0 additions & 24 deletions
This file was deleted.

Gemfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,6 @@ gemspec
1313
# To use debugger
1414
# gem "debugger"
1515
gem "activeadmin"
16+
gem "mimemagic", github: "mimemagicrb/mimemagic", ref: "01f92d86d15d85cfd0f20dabd025dcbd36a8a60f"
17+
18+
gem "webpacker", "~> 5.0", require: ENV["SPROCKETS"] != "true"

Gemfile.lock

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
GIT
2+
remote: https://github.com/mimemagicrb/mimemagic.git
3+
revision: 01f92d86d15d85cfd0f20dabd025dcbd36a8a60f
4+
ref: 01f92d86d15d85cfd0f20dabd025dcbd36a8a60f
5+
specs:
6+
mimemagic (0.3.5)
7+
18
PATH
29
remote: .
310
specs:
@@ -163,7 +170,6 @@ GEM
163170
mime-types (3.3.1)
164171
mime-types-data (~> 3.2015)
165172
mime-types-data (3.2019.1009)
166-
mimemagic (0.3.4)
167173
mini_mime (1.0.2)
168174
mini_portile2 (2.4.0)
169175
minitest (5.14.0)
@@ -193,9 +199,11 @@ GEM
193199
pry (>= 0.10.4)
194200
psych (3.1.0)
195201
public_suffix (4.0.3)
196-
puma (4.3.5)
202+
puma (5.3.1)
197203
nio4r (~> 2.0)
198204
rack (2.2.2)
205+
rack-proxy (0.6.5)
206+
rack
199207
rack-test (1.1.0)
200208
rack (>= 1.0, < 3)
201209
rails (5.2.4.1)
@@ -258,6 +266,8 @@ GEM
258266
rspec-mocks (~> 3.9.0)
259267
rspec-support (~> 3.9.0)
260268
rspec-support (3.9.2)
269+
rspec_junit_formatter (0.4.1)
270+
rspec-core (>= 2, < 4, != 2.12.0)
261271
rubocop (0.65.0)
262272
jaro_winkler (~> 1.5.1)
263273
parallel (~> 1.10)
@@ -280,6 +290,7 @@ GEM
280290
selenium-webdriver (3.142.7)
281291
childprocess (>= 0.5, < 4.0)
282292
rubyzip (>= 1.2.2)
293+
semantic_range (3.0.0)
283294
shellany (0.0.1)
284295
shoulda-matchers (4.2.0)
285296
activesupport (>= 4.2.0)
@@ -303,6 +314,11 @@ GEM
303314
nokogiri (~> 1.6)
304315
rubyzip (>= 1.3.0)
305316
selenium-webdriver (>= 3.0, < 4.0)
317+
webpacker (5.3.0)
318+
activesupport (>= 5.2)
319+
rack-proxy (>= 0.6.1)
320+
railties (>= 5.2)
321+
semantic_range (>= 2.3.0)
306322
websocket-driver (0.7.1)
307323
websocket-extensions (>= 0.1.0)
308324
websocket-extensions (0.1.4)
@@ -325,15 +341,18 @@ DEPENDENCIES
325341
factory_bot_rails
326342
guard
327343
guard-rspec
344+
mimemagic!
328345
paperclip
329346
pry-rails
330347
puma
331348
rails (~> 5.2, >= 5.2.4.1)
332349
rspec-rails
350+
rspec_junit_formatter
333351
rubocop (~> 0.65.0)
334352
shoulda-matchers
335353
sqlite3
336354
webdrivers
355+
webpacker (~> 5.0)
337356

338357
BUNDLED WITH
339-
1.17.2
358+
2.1.4

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
# ActiveAdmin Addons
22
[![Gem Version](https://badge.fury.io/rb/activeadmin_addons.svg)](https://badge.fury.io/rb/activeadmin_addons)
3-
[![Build Status](https://secure.travis-ci.org/platanus/activeadmin_addons.svg?branch=master)](http://travis-ci.org/platanus/activeadmin_addons)
43

54
ActiveAdmin Addons will extend your ActiveAdmin and enable a set of addons you can optionally use to improve the ActiveAdmin UI and make it awesome.
65

Rakefile

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,33 @@ RDoc::Task.new(:rdoc) do |rdoc|
1414
rdoc.rdoc_files.include('lib/**/*.rb')
1515
end
1616

17+
task :prepare_assets do
18+
system "rm -rf spec/dummy/public/packs"
19+
system "rm -rf spec/dummy/public/packs-test"
20+
system "yarn install"
21+
system "yarn build"
22+
system "(cd spec/dummy && yarn install)"
23+
end
24+
1725
task :tests do
18-
sh "bin/setup"
19-
sh "rspec"
20-
sh "bin/setup --use_webpacker"
21-
sh "rspec"
26+
system "rspec ./spec/lib"
27+
end
28+
29+
task :sprockets_tests do
30+
system "rake prepare_assets"
31+
system "export SPROCKETS=true; rspec ./spec/features"
32+
end
33+
34+
task :webpack_tests do
35+
system "rake prepare_assets"
36+
system "export SPROCKETS=false; rspec ./spec/features"
37+
end
38+
39+
task :all_tests do
40+
system "rake prepare_assets"
41+
system "rake tests"
42+
system "export SPROCKETS=true; rspec ./spec/features"
43+
system "export SPROCKETS=false; rspec ./spec/features"
2244
end
2345

2446
Bundler::GemHelper.install_tasks

activeadmin_addons.gemspec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ Gem::Specification.new do |s|
3737
s.add_development_dependency "puma"
3838
s.add_development_dependency "rails", "~> 5.2", ">= 5.2.4.1"
3939
s.add_development_dependency "rspec-rails"
40+
s.add_development_dependency "rspec_junit_formatter"
4041
s.add_development_dependency "rubocop", "~> 0.65.0"
4142
s.add_development_dependency "shoulda-matchers"
4243
s.add_development_dependency "sqlite3"

0 commit comments

Comments
 (0)