版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_38027358/article/details/88747379
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