2017-05-05 1 views
0

を作成した場合、私は手動でチェックし、それが動作することがわかり、私は私のcreate方法は、私の記録を作成するだけでなく、クッキーを追加して表示されますRSpecのテストをしたいことができます。私の現在のコードでは、クッキーは見つかりません...任意のアイデア?RSpecのテストクッキーが

マイ試験:

describe "POST create" do 
    subject { post :create, table: FactoryGirl.attributes_for(:table) } 
    it "creates table" do 
    expect { subject }.to change(Table, :count).by(1) 
    end 
    it "bakes cookies" do 
    expect(response.cookies["my_cookie"].to exist) 
    end 
end 

マイコントローラ:

it "bakes cookies" do 
    subject 
    expect(!!response.cookies["my_cookie"]).to eq true 
end 

元のコードは、subjectのでcreate方法を持っていなかった。

def create 
    @table = Table.new(table_params) 
    if @table.save 
     bake_cookie @table.id 
     redirect_to show_table_path, notice: "Table created." 
    else 
    ... 
end 

def bake_cookie table_id 
    cookies["my_cookie"] = { value: table_id, expires: 12.hours.from_now } 
end 
+0

cookies'それアサーションを焼く 'でそのタイプミスですか? –

答えて

0

ここでは、正しいコードであります実際には決して走っていなかった。また、これは非推奨のexistを使用しました。