SageBeard / blockipedia

0 stars 1 forks source link

Specs #4

Closed SageBeard closed 7 years ago

SageBeard commented 7 years ago

I've set up my Wiki controller and model, however my initial specs are not running. I'm not sure what my error is.

blockipedia/spec/controllers/wikis_controller_spec.rb

require 'rails_helper'

RSpec.describe WikisController, type: :controller do

  let(:my_wiki) { wiki.create!(title: RandomData.random_sentence, body: RandomData.random_paragraph) }

    describe "GET #index" do
      it "returns http success" do
        get :index
        expect(response).to have_http_status(:success)
      end

    it "assigns [my_wiki] to @wikis" do
      get :index
      expect(assigns(:wikis)).to eq([my_wiki])
    end
  end
end

blockipedia/app/controllers/wikis_controller.rb

class WikisController < ApplicationController
  def index
    @wikis = Wiki.all
  end

  def show
  end

  def new
  end

  def edit
  end
end

blockipedia/spec/models/wiki_spec.rb

require 'rails_helper'

RSpec.describe Wiki, type: :model do
  let(:wiki) { wiki.create!(title: "New Wiki Title", body: "New Wiki Body") }

  describe "attributes" do
    it "has title and body attributes" do
      expect(wiki).to have_attributes(title: "New Wiki Title", body: "New Wiki Body")
    end
  end
end

blockipedia/app/models/wiki.rb

class Wiki < ActiveRecord::Base
  belongs_to :user
end
bdougie commented 7 years ago

What is the error message in your terminal?

SageBeard commented 7 years ago
Sages-MacBook-Pro:blockipedia sagebeard$ rspec spec/models/wiki_spec.rb
/Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/actionview-4.2.5/lib/action_view/template/handlers/erb.rb:90:in `<class:ERB>': uninitialized constant ActionView::Template::Handlers::ERB::ENCODING_FLAG (NameError)
Did you mean?  Encoding
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/actionview-4.2.5/lib/action_view/template/handlers/erb.rb:76:in `<module:Handlers>'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/actionview-4.2.5/lib/action_view/template/handlers/erb.rb:5:in `<class:Template>'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/actionview-4.2.5/lib/action_view/template/handlers/erb.rb:4:in `<module:ActionView>'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/actionview-4.2.5/lib/action_view/template/handlers/erb.rb:3:in `<top (required)>'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/actionview-4.2.5/lib/action_view/template/handlers.rb:10:in `require'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/actionview-4.2.5/lib/action_view/template/handlers.rb:10:in `extended'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/actionview-4.2.5/lib/action_view/template.rb:98:in `extend'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/actionview-4.2.5/lib/action_view/template.rb:98:in `<class:Template>'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/actionview-4.2.5/lib/action_view/template.rb:7:in `<module:ActionView>'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/actionview-4.2.5/lib/action_view/template.rb:5:in `<top (required)>'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/actionview-4.2.5/lib/action_view/template/resolver.rb:5:in `require'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/actionview-4.2.5/lib/action_view/template/resolver.rb:5:in `<top (required)>'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/actionview-4.2.5/lib/action_view/testing/resolvers.rb:1:in `require'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/actionview-4.2.5/lib/action_view/testing/resolvers.rb:1:in `<top (required)>'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-rails-3.6.0/lib/rspec/rails/view_rendering.rb:1:in `require'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-rails-3.6.0/lib/rspec/rails/view_rendering.rb:1:in `<top (required)>'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-rails-3.6.0/lib/rspec/rails.rb:9:in `require'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-rails-3.6.0/lib/rspec/rails.rb:9:in `<top (required)>'
    from /Users/sagebeard/blockipedia/blockipedia/spec/spec_helper.rb:1:in `require'
    from /Users/sagebeard/blockipedia/blockipedia/spec/spec_helper.rb:1:in `<top (required)>'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-core-3.6.0/lib/rspec/core/configuration.rb:1453:in `require'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-core-3.6.0/lib/rspec/core/configuration.rb:1453:in `block in requires='
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-core-3.6.0/lib/rspec/core/configuration.rb:1453:in `each'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-core-3.6.0/lib/rspec/core/configuration.rb:1453:in `requires='
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-core-3.6.0/lib/rspec/core/configuration_options.rb:112:in `block in process_options_into'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-core-3.6.0/lib/rspec/core/configuration_options.rb:111:in `each'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-core-3.6.0/lib/rspec/core/configuration_options.rb:111:in `process_options_into'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-core-3.6.0/lib/rspec/core/configuration_options.rb:21:in `configure'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:99:in `setup'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:86:in `run'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:71:in `run'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:45:in `invoke'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-core-3.6.0/exe/rspec:4:in `<top (required)>'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/bin/rspec:23:in `load'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/bin/rspec:23:in `<main>'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/bin/ruby_executable_hooks:15:in `eval'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/bin/ruby_executable_hooks:15:in `<main>'
SageBeard commented 7 years ago

Controller

Sages-MacBook-Pro:blockipedia sagebeard$ rspec spec/controllers/wikis_controller_spec.rb
/Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/actionview-4.2.5/lib/action_view/template/handlers/erb.rb:90:in `<class:ERB>': uninitialized constant ActionView::Template::Handlers::ERB::ENCODING_FLAG (NameError)
Did you mean?  Encoding
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/actionview-4.2.5/lib/action_view/template/handlers/erb.rb:76:in `<module:Handlers>'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/actionview-4.2.5/lib/action_view/template/handlers/erb.rb:5:in `<class:Template>'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/actionview-4.2.5/lib/action_view/template/handlers/erb.rb:4:in `<module:ActionView>'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/actionview-4.2.5/lib/action_view/template/handlers/erb.rb:3:in `<top (required)>'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/actionview-4.2.5/lib/action_view/template/handlers.rb:10:in `require'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/actionview-4.2.5/lib/action_view/template/handlers.rb:10:in `extended'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/actionview-4.2.5/lib/action_view/template.rb:98:in `extend'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/actionview-4.2.5/lib/action_view/template.rb:98:in `<class:Template>'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/actionview-4.2.5/lib/action_view/template.rb:7:in `<module:ActionView>'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/actionview-4.2.5/lib/action_view/template.rb:5:in `<top (required)>'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/actionview-4.2.5/lib/action_view/template/resolver.rb:5:in `require'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/actionview-4.2.5/lib/action_view/template/resolver.rb:5:in `<top (required)>'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/actionview-4.2.5/lib/action_view/testing/resolvers.rb:1:in `require'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/actionview-4.2.5/lib/action_view/testing/resolvers.rb:1:in `<top (required)>'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-rails-3.6.0/lib/rspec/rails/view_rendering.rb:1:in `require'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-rails-3.6.0/lib/rspec/rails/view_rendering.rb:1:in `<top (required)>'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-rails-3.6.0/lib/rspec/rails.rb:9:in `require'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-rails-3.6.0/lib/rspec/rails.rb:9:in `<top (required)>'
    from /Users/sagebeard/blockipedia/blockipedia/spec/spec_helper.rb:1:in `require'
    from /Users/sagebeard/blockipedia/blockipedia/spec/spec_helper.rb:1:in `<top (required)>'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-core-3.6.0/lib/rspec/core/configuration.rb:1453:in `require'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-core-3.6.0/lib/rspec/core/configuration.rb:1453:in `block in requires='
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-core-3.6.0/lib/rspec/core/configuration.rb:1453:in `each'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-core-3.6.0/lib/rspec/core/configuration.rb:1453:in `requires='
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-core-3.6.0/lib/rspec/core/configuration_options.rb:112:in `block in process_options_into'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-core-3.6.0/lib/rspec/core/configuration_options.rb:111:in `each'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-core-3.6.0/lib/rspec/core/configuration_options.rb:111:in `process_options_into'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-core-3.6.0/lib/rspec/core/configuration_options.rb:21:in `configure'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:99:in `setup'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:86:in `run'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:71:in `run'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:45:in `invoke'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/gems/rspec-core-3.6.0/exe/rspec:4:in `<top (required)>'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/bin/rspec:23:in `load'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/bin/rspec:23:in `<main>'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/bin/ruby_executable_hooks:15:in `eval'
    from /Users/sagebeard/.rvm/gems/ruby-2.3.3/bin/ruby_executable_hooks:15:in `<main>'
bdougie commented 7 years ago

This looks like the same error we saw here: https://github.com/SageBeard/blocipedia/issues/1. I do not think this was actually solved when creating a new repo. I am looking into this now.

bdougie commented 7 years ago

Update: Turns out that you had an extra line in spec_helper.rb. this made it hard for us to debug and return weird googled results based on the error message.

I just removed the require rspec/rails line and that did the trick. This is duplicated from the rspec_helper

SageBeard commented 7 years ago

Ah, great! Thank you. I'll take a look at this tonight.