RailsによるアジャイルWebアプリケーション開発
第12章
p.158まで。
- spec/models/order_spec.rb
require 'rails_helper' RSpec.describe Order, type: :model do # : describe "#add_line_items_from_cart" do before do @cart = create(:cart, line_items: create_list(:line_item, 3)) @order = create(:order) @order.add_line_items_from_cart @cart @cart.reload end it { expect(@order.line_items.count).to eq 3 } it { expect(@cart.line_items.count).to eq 0 } end end
- spec/controllers/orders_controller_spec.rb
require 'rails_helper' RSpec.describe OrdersController, type: :controller do # : describe 'POST create' do it 'should create order' do expect { post :create, order: attributes_for(:order) }.to change(Order, :count).by(1) end it 'redirects to store#index' do post :create, order: attributes_for(:order) expect(response).to redirect_to store_path end end end