我可以手动检查并查看它是否有效,但我想要一个rspec测试,它会显示我的create
方法添加cookie以及创建我的记录。使用我当前的代码,没有找到任何cookie ...任何想法?
我的测试:
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
我的控制器:
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 :(得分:0)
这是正确的代码:
<link rel="stylesheet" href="lib/@angular/material/core/theming/prebuilt/indigo-pink.css">
原始代码没有it "bakes cookies" do
subject
expect(!!response.cookies["my_cookie"]).to eq true
end
,因此subject
方法实际上从未运行过。它还使用了不推荐使用的create
。