-
-
Notifications
You must be signed in to change notification settings - Fork 1k
Closed
Milestone
Description
Stack trace:
1) WorkHistoryCompanyOrator#name when the policy permits show?
Failure/Error: let(:company) { instance_double(Company, name: FFaker::Company.name) }
NoMethodError:
undefined method `constant_mutator_for' for #<RSpec::Mocks::RootSpace:0x00007fe713125ac8>
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-mocks-4d55ed9afdeb/lib/rspec/mocks/mutate_const.rb:87:in `original'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-mocks-4d55ed9afdeb/lib/rspec/mocks/object_reference.rb:145:in `object'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-mocks-4d55ed9afdeb/lib/rspec/mocks/object_reference.rb:129:in `target'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-rails-4e88eb32b479/lib/rspec/rails/active_record.rb:12:in `block (2 levels) in initialize_activerecord_configuration'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-mocks-4d55ed9afdeb/lib/rspec/mocks/example_methods.rb:416:in `block in declare_verifying_double'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-mocks-4d55ed9afdeb/lib/rspec/mocks/example_methods.rb:415:in `each'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-mocks-4d55ed9afdeb/lib/rspec/mocks/example_methods.rb:415:in `declare_verifying_double'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-mocks-4d55ed9afdeb/lib/rspec/mocks/example_methods.rb:58:in `instance_double'
# ./spec/orators/work_history_company_orator_spec.rb:9:in `block (2 levels) in <top (required)>'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/memoized_helpers.rb:317:in `block (2 levels) in let'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/memoized_helpers.rb:157:in `block (3 levels) in fetch_or_store'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/memoized_helpers.rb:157:in `fetch'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/memoized_helpers.rb:157:in `block (2 levels) in fetch_or_store'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-support-854af33a0902/lib/rspec/support/reentrant_mutex.rb:23:in `synchronize'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/memoized_helpers.rb:156:in `block in fetch_or_store'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/memoized_helpers.rb:155:in `fetch'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/memoized_helpers.rb:155:in `fetch_or_store'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/memoized_helpers.rb:317:in `block in let'
# ./spec/orators/work_history_company_orator_spec.rb:8:in `block (2 levels) in <top (required)>'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/memoized_helpers.rb:317:in `block (2 levels) in let'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/memoized_helpers.rb:157:in `block (3 levels) in fetch_or_store'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/memoized_helpers.rb:157:in `fetch'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/memoized_helpers.rb:157:in `block (2 levels) in fetch_or_store'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-support-854af33a0902/lib/rspec/support/reentrant_mutex.rb:23:in `synchronize'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/memoized_helpers.rb:156:in `block in fetch_or_store'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/memoized_helpers.rb:155:in `fetch'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/memoized_helpers.rb:155:in `fetch_or_store'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/memoized_helpers.rb:317:in `block in let'
# ./spec/orators/work_history_company_orator_spec.rb:13:in `block (3 levels) in <top (required)>'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/memoized_helpers.rb:317:in `block (2 levels) in let'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/memoized_helpers.rb:157:in `block (3 levels) in fetch_or_store'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/memoized_helpers.rb:157:in `fetch'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/memoized_helpers.rb:157:in `block (2 levels) in fetch_or_store'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-support-854af33a0902/lib/rspec/support/reentrant_mutex.rb:23:in `synchronize'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/memoized_helpers.rb:156:in `block in fetch_or_store'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/memoized_helpers.rb:155:in `fetch'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/memoized_helpers.rb:155:in `fetch_or_store'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/memoized_helpers.rb:317:in `block in let'
# /Users/samuelstickland/.gem/ruby/2.7.2/gems/activerecord-6.1.0/lib/active_record/test_fixtures.rb:102:in `run_in_transaction?'
# /Users/samuelstickland/.gem/ruby/2.7.2/gems/activerecord-6.1.0/lib/active_record/test_fixtures.rb:116:in `setup_fixtures'
# /Users/samuelstickland/.gem/ruby/2.7.2/gems/activerecord-6.1.0/lib/active_record/test_fixtures.rb:10:in `before_setup'
# /Users/samuelstickland/.gem/ruby/2.7.2/gems/activejob-6.1.0/lib/active_job/test_helper.rb:45:in `before_setup'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-rails-4e88eb32b479/lib/rspec/rails/adapters.rb:74:in `block (2 levels) in <module:MinitestLifecycleAdapter>'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/example.rb:455:in `instance_exec'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/example.rb:455:in `instance_exec'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/hooks.rb:390:in `execute_with'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/hooks.rb:628:in `block (2 levels) in run_around_example_hooks_for'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/example.rb:350:in `call'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/hooks.rb:629:in `run_around_example_hooks_for'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/hooks.rb:486:in `run'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/example.rb:465:in `with_around_example_hooks'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/example.rb:508:in `with_around_and_singleton_context_hooks'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/example.rb:259:in `run'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/example_group.rb:644:in `block in run_examples'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/example_group.rb:640:in `map'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/example_group.rb:640:in `run_examples'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/example_group.rb:606:in `run'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/example_group.rb:607:in `block in run'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/example_group.rb:607:in `map'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/example_group.rb:607:in `run'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/example_group.rb:607:in `block in run'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/example_group.rb:607:in `map'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/example_group.rb:607:in `run'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/runner.rb:121:in `block (3 levels) in run_specs'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/runner.rb:121:in `map'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/runner.rb:121:in `block (2 levels) in run_specs'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/configuration.rb:2067:in `with_suite_hooks'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/runner.rb:116:in `block in run_specs'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/reporter.rb:74:in `report'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/runner.rb:115:in `run_specs'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/runner.rb:89:in `run'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/runner.rb:71:in `run'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/lib/rspec/core/runner.rb:45:in `invoke'
# /Users/samuelstickland/.gem/ruby/2.7.2/bundler/gems/rspec-core-addcfb47cb05/exe/rspec:4:in `<top (required)>'
# /Users/samuelstickland/.gem/ruby/2.7.2/bin/rspec:23:in `load'
# /Users/samuelstickland/.gem/ruby/2.7.2/bin/rspec:23:in `<top (required)>'
# /Users/samuelstickland/.rubies/ruby-2.7.2/lib/ruby/2.7.0/bundler/cli/exec.rb:63:in `load'
# /Users/samuelstickland/.rubies/ruby-2.7.2/lib/ruby/2.7.0/bundler/cli/exec.rb:63:in `kernel_load'
# /Users/samuelstickland/.rubies/ruby-2.7.2/lib/ruby/2.7.0/bundler/cli/exec.rb:28:in `run'
# /Users/samuelstickland/.rubies/ruby-2.7.2/lib/ruby/2.7.0/bundler/cli.rb:476:in `exec'
# /Users/samuelstickland/.rubies/ruby-2.7.2/lib/ruby/2.7.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
# /Users/samuelstickland/.rubies/ruby-2.7.2/lib/ruby/2.7.0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
# /Users/samuelstickland/.rubies/ruby-2.7.2/lib/ruby/2.7.0/bundler/vendor/thor/lib/thor.rb:399:in `dispatch'
# /Users/samuelstickland/.rubies/ruby-2.7.2/lib/ruby/2.7.0/bundler/cli.rb:30:in `dispatch'
# /Users/samuelstickland/.rubies/ruby-2.7.2/lib/ruby/2.7.0/bundler/vendor/thor/lib/thor/base.rb:476:in `start'
# /Users/samuelstickland/.rubies/ruby-2.7.2/lib/ruby/2.7.0/bundler/cli.rb:24:in `start'
# /Users/samuelstickland/.rubies/ruby-2.7.2/lib/ruby/gems/2.7.0/gems/bundler-2.1.4/libexec/bundle:46:in `block in <top (required)>'
# /Users/samuelstickland/.rubies/ruby-2.7.2/lib/ruby/2.7.0/bundler/friendly_errors.rb:123:in `with_friendly_errors'
# /Users/samuelstickland/.rubies/ruby-2.7.2/lib/ruby/gems/2.7.0/gems/bundler-2.1.4/libexec/bundle:34:in `<top (required)>'
# /Users/samuelstickland/.gem/ruby/2.7.2/bin/bundle:23:in `load'
# /Users/samuelstickland/.gem/ruby/2.7.2/bin/bundle:23:in `<main>'
1/1 |===================================================== 100 ======================================================>| Time: 00:00:00
Finished in 0.77624 seconds (files took 7.92 seconds to load)
1 example, 1 failure
Failed examples:
rspec ./spec/orators/work_history_company_orator_spec.rb:20 # WorkHistoryCompanyOrator#name when the policy permits show?
Randomized with seed 3920
This is the full spec:
require 'rails_helper'
describe WorkHistoryCompanyOrator do
include Support::Policy
i18n_key 'work_history_company_orator'
let(:work_history) { instance_double(WorkHistory, company: company) }
let(:company) { instance_double(Company, name: FFaker::Company.name) }
describe '#name' do
let(:policy) { instance_double(ExpertProfilePolicy) }
subject(:name) { WorkHistoryCompanyOrator.new(work_history, policy: policy).name }
before { allow(policy).to receive(:show_work_history?).with(work_history).and_return(show) }
context 'when the policy permits show?' do
let(:show) { true }
it { is_expected.to eq company.name }
end
context 'when the policy forbid show?' do
let(:show) { false }
it { is_expected.to eq t('.hidden_company') }
end
end
end
And the model we are trying to create an instance double for is simply:
class Company < ApplicationRecord
end
Originally posted by @samstickland in #2417 (comment)
Metadata
Metadata
Assignees
Labels
No labels