@@ -18,55 +18,14 @@ class WebpackerManifestContainerTest < ActiveSupport::TestCase
1818 end
1919
2020 def test_it_loads_from_webpack_dev_server
21- webpack_dev_server = fork do
22- Dir . chdir ( "test/dummy" ) do
23- exec "RAILS_ENV=development ./bin/webpack-dev-server "
24- end
21+ WebpackerHelpers . with_dev_server do
22+ container = React ::ServerRendering ::WebpackerManifestContainer . new
23+ js_file = container . find_asset ( "application.js" )
24+ # Main file:
25+ assert_includes js_file , "ReactRailsUJS.loadContext(ctx)"
26+ # Bundled dependencies:
27+ assert_includes js_file , "ExportDefaultComponent"
2528 end
26-
27- detected_dev_server = false
28- 60 . times do |i |
29- begin
30- # Make sure that the manifest has been updated:
31- Webpacker ::Manifest . load ( "./test/dummy/public/packs/manifest.json" )
32- webpack_manifest = Webpacker ::Manifest . instance . data
33- example_asset_path = webpack_manifest . values . first
34- if example_asset_path . nil?
35- puts "Manifest is blank, all manifests:"
36- Dir . glob ( "./test/dummy/public/packs/*.json" ) . each do |f |
37- puts f
38- puts File . read ( f )
39- end
40- next
41- end
42- assert_includes example_asset_path , "http://localhost:8080"
43- # Make sure the dev server is up:
44- open ( "http://localhost:8080/application.js" )
45- detected_dev_server = true
46- break
47- rescue StandardError => err
48- puts err . message
49- ensure
50- sleep 0.5
51- puts i
52- end
53- end
54-
55- # If we didn't hook up with a dev server after 10s,
56- # fail loudly.
57- assert detected_dev_server
58-
59- container = React ::ServerRendering ::WebpackerManifestContainer . new
60- js_file = container . find_asset ( "application.js" )
61- # Main file:
62- assert_includes js_file , "ReactRailsUJS.loadContext(ctx)"
63- # Bundled dependencies:
64- assert_includes js_file , "ExportDefaultComponent"
65- ensure
66- Process . kill ( 9 , webpack_dev_server )
67- Process . wait
68- # Remove the dev-server packs:
69- WebpackerHelpers . clear_webpacker_packs
7029 end
7130 end
7231end
0 commit comments