:ok: 

この部分は通常であればMockを利用してもよいと考えています。

Mockはテスト対象を明確にするために利用します。
このテストコードを見るとプロダクションコードに対しMockしすぎな印象があります。
```ruby
let!(:save_book) do
  mock_model Book, book: post_book,save: true, update_columns: false
end
```

Mockを利用しない番でcommitし、その後でどの様にMockすればよいかもう一度考えてみてください。