OSDN Git Service

11440f4fc680e27a5a1a166cff39a56eb1324809
[pettanr/pettanr.git] / spec / support / controller_macros.rb
1 module ControllerMacros\r
2   def list_should_return_filer_or_json action, params = {}\r
3     # html形式: \r
4     # ステータスコード200 OKを返す\r
5     # filerテンプレートを描画する\r
6     get action, params\r
7     expect(response).to be_success\r
8     expect(response).to render_template("templates/r/filer/filer")\r
9     # json形式\r
10     # ステータスコード200 OKを返す\r
11     # jsonデータを返す\r
12     get action, params.merge(:format => :json)\r
13     expect(response).to be_success\r
14     expect {JSON.parse(response.body)}.not_to raise_error\r
15   end\r
16   \r
17   def announce_sign_in_at_get action, params = {}\r
18     # html形式: ステータスコード302 Foundを返す\r
19     get action, params\r
20     expect(response.status).to eq(302)\r
21     expect(response).to redirect_to '/users/sign_in'\r
22     # json形式: ステータスコード401 Unauthorizedを返す\r
23     get action, params.merge(:format => :json)\r
24     expect(response.status).to eq(401)\r
25     expect(response.message).to match(/Unauthorized/)\r
26   end\r
27   \r
28   def return_ok_at_get action, params = {}\r
29     # ステータスコード200 OKを返す\r
30     get action, params\r
31     expect(response).to be_success\r
32   end\r
33   \r
34   def show_action_return_profiler item_id\r
35     # prof形式: ステータスコード200 OKを返す\r
36     get :show, :id => item_id, :format => :prof\r
37     expect(response).to be_success\r
38     # json形式: ステータスコード200 OKを返す\r
39     get action, params.merge(:format => :json)\r
40     expect(response).to be_success\r
41   end\r
42   \r
43   def announce_regist_owner_in_at_get action, params = {}\r
44     # html形式: ステータスコード302 Foundを返す\r
45     get action, params\r
46     expect(response.status).to eq(302)\r
47     expect(response).to redirect_to '/users/sign_in'\r
48     # json形式: ステータスコード401 Unauthorizedを返す\r
49     get action, params.merge(:format => :json)\r
50     expect(response.status).to eq(401)\r
51     expect(response.message).to match(/Unauthorized/)\r
52   end\r
53   \r
54 end\r
55 \r