Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

undefined method `expect' for #<RSpec::ExampleGroups::TheSigninProcess:0x007fddd28a7750>

I have a very basic RSpec/Capybara Rails test written down but i keep on getting that expect method is undefined

my spec/features/signin_spec.rb:

  require "rails_helper"
  RSpec.feature "the signin process", :type => :feature do
    before :each do
      User.create(:email => "[email protected]", :password => "password")
    end

    scenario "signs me in" do
      visit "/users/sign_in"
      within("#new_user") do
        fill_in "Email", :with => "[email protected]"
        fill_in "Password", :with => "password"
      end
      click_button "Log in"
      expect(page).to have_content "successfully"
    end
  end

rails_helper:

This file is copied to spec/ when you run 'rails generate rspec:install'

  ENV['RAILS_ENV'] ||= 'test'
  require 'spec_helper'
  require File.expand_path('../../config/environment', __FILE__)
  require 'rspec/rails'

  ActiveRecord::Migration.maintain_test_schema!

  RSpec.configure do |config|
    config.include Devise::TestHelpers, type: :controller
    config.fixture_path = "#{::Rails.root}/spec/fixtures"
    config.use_transactional_fixtures = true
    config.infer_spec_type_from_file_location!
  end

spec_helper:

    require 'capybara/rspec'
    RSpec.configure do |config|
      config.include Capybara::DSL
      config.expect_with(:rspec) { |c| c.syntax = :should }
      config.expect_with :rspec do |expectations|
        expectations.include_chain_clauses_in_custom_matcher_descriptions = true
      end
      config.mock_with :rspec do |mocks|
        mocks.verify_partial_doubles = true
      end
   =begin
      config.filter_run :focus
      config.run_all_when_everything_filtered = true
      config.disable_monkey_patching!
      if config.files_to_run.one?
        config.default_formatter = 'doc'
      end
      config.profile_examples = 10
      config.order = :random
      Kernel.srand config.seed
    =end
    end
like image 793
user1166419 Avatar asked Dec 15 '22 15:12

user1166419


1 Answers

Adding :expect to this in spec_helper removed the error

config.expect_with :rspec do |c|
    c.syntax = [:should, :expect]
end

https://www.relishapp.com/rspec/rspec-expectations/docs/syntax-configuration#disable-expect-syntax

Thank you for your help @apneadiving and Frederick

like image 85
user1166419 Avatar answered Dec 30 '22 08:12

user1166419