Skip to content

Fix specs which are incompatible with fast_spec_helper

Peter Leitzen requested to merge pl-fast-spec-helper into master

What does this MR do and why?

Fix specs which are incompatible with fast_spec_helper

This commit switches from require 'fast_spec_helper' back to require 'spec_helper' for specs which require application dependencies (e.g. database baked feature flags, Rails).

It also adds some missing requires to "fast" specs so they don't fail when run individually.

Why do the spec fail when run individually?

In CI we don't run "fast" spec individually so spec_helper is always loaded.

For local runs I suspect it's because folks is using bin/spring rspec instead of bin/rspec which loads spec_helper as well 🤷

Follow-ups:

How to set up and validate locally

Before

# before
(for i in $(git grep -l -E '^require.*fast_spec_helper'); do echo $i; echo; bin/rspec $i; done) > fast_spec_helper_before.txt

# Wait for it...
$ grep "examples, " fast_spec_helper_before.txt   | grep -v ", 0 failures"
6 examples, 2 failures
6 examples, 4 failures
7 examples, 1 failure
4 examples, 2 failures
8 examples, 8 failures, 1 error occurred outside of examples
2 examples, 2 failures
6 examples, 6 failures
4 examples, 4 failures
19 examples, 19 failures
6 examples, 5 failures
643 examples, 38 failures
2 examples, 2 failures
5 examples, 3 failures
4 examples, 2 failures
8 examples, 4 failures
3 examples, 3 failures
8 examples, 1 failure
11 examples, 11 failures

fast_spec_helper_before.txt

After

(for i in $(git grep -l -E '^require.*fast_spec_helper'); do echo $i; echo; bin/rspec $i; done) > fast_spec_helper_after.txt

# Wait for it...
$ grep "examples, " fast_spec_helper_before.txt   | grep -v ", 0 failures"
# empty

fast_spec_helper_after.txt

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Peter Leitzen

Merge request reports