With the changes in 4c63a12, we are building our rails apps in api mode
so we should not need uglifier anymore.
This commit also fixes one alphabetization error.
Prior to this commit the tests generated a full rails app, but didn't need many of the libraries included by default. Unneeded gems make the test suite slower, and increase the chance of getting errors when new versions of each gem come out.
This commit gets the Travis build passing by:
- Removing Rails 4.2 so we don't have to deal with bundler < 2 anymore
- Bumping to latest Rails versions
- Explicitly listing all gems that appear in the default Rails Gemfile
- Avoiding bootsnap and javascript, since they aren't relevant to these tests
Co-authored-by: alex <alexandr1golubenko@gmail.com>
Rails 6.0.0 generates a Gemfile with sass-rails at `~> 5`. Our
Appraisals need to match, or else we end up installing version 6 on CI
and the tests fail with the wrong version.
This partially addresses #293. Since rubocop generated quite a few todos, the commits addressing them are split up into a few different PRs that cover different files.
Ruby 2.1 and 2.2 are no longer maintained, and Rails 3.2 and 4.2 are no
longer maintained, so I don't want to go out of our way to continue
supporting them in FactoryBot 5+. Hooray for faster test runs!
- Add Rails 5.1 and 5.2 to Appraisal
- Avoid running combinations we know are going to fail by moving to
"exclude" instead of "allow_failures"
- Use updated migration class for Rails 5.1+
* support latest Ruby 2.1
* support latest Ruby 2.2
* support latest Rails 4.2
* drop testing of Ruby 2.0
* drop testing of Rails 4.0
* fix JRuby support
* Remove gemfiles from version control to match same testing style as
Clearance and Suspenders.
* MiniTest does not need to be manually included as it is automatically
included by Rails by default.
* Add spring for Rails 4.1.
* Disable Spring to get specs to pass on Rails 4.1.
* Add therubyrhino for JRuby.
* Remove old references to Rails 3.
* Fix JRuby test where output is "1 runs", not "1 tests".
* Remove Rails 3.0 reference to "turn".
Rails 3.1.x has code which checks which version of ruby is being run,
and based on the result, selects a version of turn.
For 1.9.3+, it selects "~> 0.8.3"; for everything else, it selects "0.8.2".
If we remove turn from the Appraisals, but have travis install both versions
that rails might potentially need, the in-generated-app Gemfile building should
work correctly.
Some features test the factory_girl_rails integration with minitest-rails.
Other features just test normal integration with rails generators.
When minitest-rails is *always* in our gemfiles, minitest's generator
gets run during the features which generate new rails apps.
Because minitest doesnt support namespaced models, this fails. But, also,
we don't actually want to run minitest during anything other than the specific
areas where we are testing that integration.
Thus, we need the gem present on the system, but not in the gemfiles during
any times other than when it's pulled in specifically by those features.
This allows us to test factory_girl_rails against each minor release of
Rails 3. To run the full suite, run
$ bundle exec rake
To view all the rake tasks Appraisal provides, run
$ bundle exec rake -T appraisal