#前提・実現したいこと
正直どこを直したらいいのか調べても全く分からない状況です。
binding.pryもなぜか効きません。
すみませんがわかる方がいらしゃいましたら教えていただけると助かります。
よろしくお願い致します。
gem 'rspec-rails', '~> 4.0.0.beta2'
#発生している問題・エラーメッセージ
DEPRECATION WARNING: #fog_provider is deprecated and has no effect (called from block in <main> at /Users/〇〇/projects/〇〇/config/initializers/carrierwave.rb:7) Item #create 商品名、価格、商品説明、カテゴリー、商品状態、配送料の負担、発送元の地域、発送までの日数、が入力されていれば出品できる (FAILED - 1) 商品名が空では出品できない (FAILED - 2) 商品説明が空では出品できない (FAILED - 3) カテゴリーが空では出品できない (FAILED - 4) 商品の状態が空では出品できない (FAILED - 5) 配送料の負担が空では出品できない (FAILED - 6) 配送元の地域が空では出品できない (FAILED - 7) 発送までの日数が空では出品できない (FAILED - 8) 価格が空では出品できない (FAILED - 9) 価格が数字でない場合(文字列の場合)は、出品できない (FAILED - 10) Failures: 1) Item#create 商品名、価格、商品説明、カテゴリー、商品状態、配送料の負担、発送元の地域、発送までの日数、が入力されていれば出品できる Failure/Error: item = build(:item) NoMethodError: undefined method `build' for #<RSpec::ExampleGroups::Item::Create:0x00007fd9b7ca5c18> # ./spec/models/item_spec.rb:7:in `block (3 levels) in <top (required)>' 2) Item#create 商品名が空では出品できない Failure/Error: item = FactoryBot.build(:item, name: "") ArgumentError: '1' is not a valid condition # ./spec/models/item_spec.rb:13:in `block (3 levels) in <top (required)>' 3) Item#create 商品説明が空では出品できない Failure/Error: item = FactoryBot.build(:item, detail: "") ArgumentError: '1' is not a valid condition # ./spec/models/item_spec.rb:20:in `block (3 levels) in <top (required)>' 4) Item#create カテゴリーが空では出品できない Failure/Error: item = FactoryBot.build(:item, category_id: "") ArgumentError: '1' is not a valid condition # ./spec/models/item_spec.rb:26:in `block (3 levels) in <top (required)>' 5) Item#create 商品の状態が空では出品できない Failure/Error: item = FactoryBot.build(:item, condition: "") ArgumentError: '1' is not a valid fee # ./spec/models/item_spec.rb:32:in `block (3 levels) in <top (required)>' 6) Item#create 配送料の負担が空では出品できない Failure/Error: item = FactoryBot.build(:item, delivery_fee: "") ArgumentError: '1' is not a valid condition # ./spec/models/item_spec.rb:38:in `block (3 levels) in <top (required)>' 7) Item#create 配送元の地域が空では出品できない Failure/Error: item = FactoryBot.build(:item, city: "") ArgumentError: '1' is not a valid condition # ./spec/models/item_spec.rb:44:in `block (3 levels) in <top (required)>' 8) Item#create 発送までの日数が空では出品できない Failure/Error: item = FactoryBot.build(:item, delivery_date: "") ArgumentError: '1' is not a valid condition # ./spec/models/item_spec.rb:50:in `block (3 levels) in <top (required)>' 9) Item#create 価格が空では出品できない Failure/Error: item = FactoryBot.build(:item, price: "") ArgumentError: '1' is not a valid condition # ./spec/models/item_spec.rb:56:in `block (3 levels) in <top (required)>' 10) Item#create 価格が数字でない場合(文字列の場合)は、出品できない Failure/Error: item = FactoryBot.build(:item, price: "aaaa") ArgumentError: '1' is not a valid condition # ./spec/models/item_spec.rb:62:in `block (3 levels) in <top (required)>' Finished in 0.08192 seconds (files took 3.77 seconds to load) 10 examples, 10 failures Failed examples: rspec ./spec/models/item_spec.rb:6 # Item#create 商品名、価格、商品説明、カテゴリー、商品状態、配送料の負担、発送元の地域、発送までの日数、が入力されていれば出品できる rspec ./spec/models/item_spec.rb:12 # Item#create 商品名が空では出品できない rspec ./spec/models/item_spec.rb:19 # Item#create 商品説明が空では出品できない rspec ./spec/models/item_spec.rb:25 # Item#create カテゴリーが空では出品できない rspec ./spec/models/item_spec.rb:31 # Item#create 商品の状態が空では出品できない rspec ./spec/models/item_spec.rb:37 # Item#create 配送料の負担が空では出品できない rspec ./spec/models/item_spec.rb:43 # Item#create 配送元の地域が空では出品できない rspec ./spec/models/item_spec.rb:49 # Item#create 発送までの日数が空では出品できない rspec ./spec/models/item_spec.rb:55 # Item#create 価格が空では出品できない
#該当のソースコード
item_spec.rb
require 'rails_helper' describe Item do describe "#create" do it "商品名、価格、商品説明、カテゴリー、商品状態、配送料の負担、発送元の地域、発送までの日数、が入力されていれば出品できる" do item = build(:item) binding.pry expect(item).to be_valid end it "商品名が空では出品できない" do item = FactoryBot.build(:item, name: "") item.valid? binding.pry expect(item.errors[:name]).to include("can't be blank") end it "商品説明が空では出品できない" do item = FactoryBot.build(:item, detail: "") item.valid? expect(item.errors[:detail]).to include("can't be blank") end it "カテゴリーが空では出品できない" do item = FactoryBot.build(:item, category_id: "") item.valid? expect(item.errors[:category_id]).to include("can't be blank") end it "商品の状態が空では出品できない" do item = FactoryBot.build(:item, condition: "") item.valid? expect(item.errors[:condition]).to include("can't be blank") end it "配送料の負担が空では出品できない" do item = FactoryBot.build(:item, delivery_fee: "") item.valid? expect(item.errors[:delivery_fee]).to include("can't be blank") end it "配送元の地域が空では出品できない" do item = FactoryBot.build(:item, city: "") item.valid? expect(item.errors[:city]).to include("can't be blank") end it "発送までの日数が空では出品できない" do item = FactoryBot.build(:item, delivery_date: "") item.valid? expect(item.errors[:delivery_date]).to include("can't be blank") end it "価格が空では出品できない" do item = FactoryBot.build(:item, price: "") item.valid? expect(item.errors[:price]).to include("can't be blank") end it "価格が数字でない場合(文字列の場合)は、出品できない" do item = FactoryBot.build(:item, price: "aaaa") item.valid? expect(item.errors[:price]).to include("not a number") end end end
FactoryBot.define do factory :item do name {"abe"} detail {"aaa"} category_id {"1"} condition {"1"} fee {"1"} prefecture {"aaa"} delivery_date {"1"} price {"111"} end end
image_spec.rb
require 'rails_helper' describe Image do before do @image = build(:image) end describe "create" do it "画像入力されていれば出品できる" do image = FactoryBot.build(:image) expect(image).to be_valid end it "商品画像が空では出品できない" do image = FactoryBot.build(:image, image: "") image.valid? expect(image.error(:image)).to include("can`t be blank") end end end
images.rb
FactoryBot.define do factory :image do image {"aaa.jpg"} end end
.rspec
--require spec_helper --format documentation
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。