rspec-rails

Gemfile

book

book_chapters

~/project/spec

~/project/spec/factories

books.rb

FactoryBot.define do
  factory :book do
    name { Faker::Book.title }
    author { Faker::Book.author }
  end
end
book_chapters.rb

FactoryBot.define do
  factory :book_chapter do
    name { Faker::String.random(10) }
    content { Faker::String.random(50) }
    book
  end
end

 ~/project/spec/controllers/api/v1

books_controller_spec.rb

require 'rails_helper'
  
RSpec.describe Api::V1::BooksController, type: :controller do
  # before(:example) do
    # @user = create(:user)
    # merge_authorition_headers!(@user)
  # end

  it 'index' do
    get :index

    expect(response).to have_http_status(:success)
  end

  it 'show' do
    book = create(:book)
    get :show, params: { id: book.id.to_s }

    expect(response).to have_http_status(:success)
  end
end
book_chapters_controller_spec.rb

require 'rails_helper'
  
RSpec.describe Api::V1::BookChaptersController, type: :controller do
  # before(:example) do
    # @user = create(:user)
    # merge_authorition_headers!(@user)
  # end

  it 'index' do
    book_chapter = create(:book_chapter)
    get :index, params: { book_id: book_chapter.book.id.to_s }

    expect(response).to have_http_status(:success)
  end

  # it 'index' do
  #   book = create(:book)
  #   create(:book_chapter, book: book)
  #   get :index, params: { book_id: book.id.to_s }

  #   expect(response).to have_http_status(:success)
  # end

  it 'show' do
    book_chapter = create(:book_chapter)
    get :show, params: { id: book_chapter.id.to_s }

    expect(response).to have_http_status(:success)
  end
end

 

rspec spec/controllers/api/v1/books_controller_spec.rb

rspec spec/controllers/api/v1/book_chapters_controller_spec.rb

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值