Rails 6 when executing teaspoon for javascript testcases getting Module#parent` has been renamed to `module_parent`

627 views Asked by At

Getting the below error when executing the testcases using teaspoon gem for javascript testcases. I am not sure why stylesheets folder is considered while executing the teaspoon. By this the execution of testcases is delayed

NOTE: we have a stylesheets folder with .sass and .scss files in it. Removing the stylesheets folder is not giving the below deprecation warnings

$ RAILS_ENV=test bundle exec teaspoon --coverage=default

     
2020-08-05 17:49:16 WARN Selenium [DEPRECATION] Selenium::WebDriver::Chrome#driver_path= is deprecated. Use Selenium::WebDriver::Chrome::Service#driver_path= instead.

log_level -------------->debug

Starting the Teaspoon server...

Teaspoon running default suite at http://127.0.0.1:45856/jasmine/default

DEPRECATION WARNING: `Module#parent` has been renamed to `module_parent`. `parent` is deprecated and will be removed in Rails 6.1. (called from sass_importer_class at /home/t/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/compass-rails-4.0.0/lib/compass-rails/patches/sass_importer.rb:72)

DEPRECATION WARNING: `Module#parent` has been renamed to `module_parent`. `parent` is deprecated and will be removed in Rails 6.1. (called from sass_importer_class at /home/t/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/compass-rails-4.0.0/lib/compass-rails/patches/sass_importer.rb:73)

DEPRECATION WARNING: `Module#parent` has been renamed to `module_parent`. `parent` is deprecated and will be removed in Rails 6.1. (called from sass_importer_class at /home/t/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/compass-rails-4.0.0/lib/compass-rails/patches/sass_importer.rb:72)

DEPRECATION WARNING: `Module#parent` has been renamed to `module_parent`. `parent` is deprecated and will be removed in Rails 6.1. (called from sass_importer_class at /home/tanmaya/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/compass-rails-4.0.0/lib/compass-rails/patches/sass_importer.rb:73)

DEPRECATION WARNING on line 87 of /home/t/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/compass-core-1.0.3/stylesheets/compass/css3/_deprecated-support.scss:
#{} interpolation near operators will be simplified in a future version of Sass.

To preserve the current behavior, use quotes:

  unquote('"$moz-"#{$experimental-support-for-mozilla} "$webkit-"#{$experimental-support-for-webkit} "$opera-"#{$experimental-support-for-opera} "$microsoft-"#{$experimental-support-for-microsoft} "$khtml-"#{$experimental-support-for-khtml}')

You can use the sass-convert command to automatically fix most cases.

DEPRECATION WARNING on line 92 of /home/t/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/compass-core-1.0.3/stylesheets/compass/css3/_deprecated-support.scss:
#{} interpolation near operators will be simplified in a future version of Sass.
To preserve the current behavior, use quotes:

  unquote('"$ie6-"#{$legacy-support-for-ie6} "$ie7-"#{$legacy-support-for-ie7} "$ie8-"#{$legacy-support-for-ie8}')

You can use the sass-convert command to automatically fix most cases.
1

There are 1 answers

0
venkata seshanka On

Found the solution, we excluded the stylesheet scanning by teaspoon via restricting the precompile config to js files only in test environment.

     Rails.application.config.assets.precompile = %w( *.js)
  • Other evnvironments can have assets folder included meaning using the pattern of all js and css files in the above precompile config.

NOTE: (test environement is passed via RAILS_ENV while running teaspoon command in command prompt to have condition in assets.rb file).