DEV: Assert for 200 response code to avoid changing magic helper in the future.

This commit is contained in:
Guo Xiang Tan 2018-06-07 16:11:09 +08:00
parent 3533bdb83f
commit 3a8f69c3d2
57 changed files with 498 additions and 498 deletions

View File

@ -16,7 +16,7 @@ describe PostsController do
title: title, raw: "[poll]\n- A\n- B\n[/poll]" title: title, raw: "[poll]\n- A\n- B\n[/poll]"
}, format: :json }, format: :json
expect(response).to be_success expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json["cooked"]).to match("data-poll-") expect(json["cooked"]).to match("data-poll-")
expect(json["polls"]["poll"]).to be expect(json["polls"]["poll"]).to be
@ -29,7 +29,7 @@ describe PostsController do
topic_id: post_1.topic.id, raw: "[poll]\n- A\n- B\n[/poll]" topic_id: post_1.topic.id, raw: "[poll]\n- A\n- B\n[/poll]"
}, format: :json }, format: :json
expect(response).to be_success expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json["cooked"]).to match("data-poll-") expect(json["cooked"]).to match("data-poll-")
expect(json["polls"]["poll"]).to be expect(json["polls"]["poll"]).to be
@ -43,7 +43,7 @@ describe PostsController do
title: title, raw: "[poll name=#{name} close=#{close_date.iso8601}]\n- A\n- B\n[/poll]" title: title, raw: "[poll name=#{name} close=#{close_date.iso8601}]\n- A\n- B\n[/poll]"
}, format: :json }, format: :json
expect(response).to be_success expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json["polls"][name]["close"]).to be expect(json["polls"][name]["close"]).to be
@ -99,7 +99,7 @@ describe PostsController do
title: title, raw: "[poll name=<script>alert('xss')</script>]\n- A\n- B\n[/poll]" title: title, raw: "[poll name=<script>alert('xss')</script>]\n- A\n- B\n[/poll]"
}, format: :json }, format: :json
expect(response).to be_success expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json["cooked"]).to match("data-poll-") expect(json["cooked"]).to match("data-poll-")
expect(json["cooked"]).to include("&lt;script&gt;") expect(json["cooked"]).to include("&lt;script&gt;")
@ -111,7 +111,7 @@ describe PostsController do
title: title, raw: "[Polls are awesome](/foobar)\n[poll]\n- A\n- B\n[/poll]" title: title, raw: "[Polls are awesome](/foobar)\n[poll]\n- A\n- B\n[/poll]"
}, format: :json }, format: :json
expect(response).to be_success expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json["cooked"]).to match("data-poll-") expect(json["cooked"]).to match("data-poll-")
expect(json["polls"]).to be expect(json["polls"]).to be
@ -122,7 +122,7 @@ describe PostsController do
title: title, raw: "[poll name=1]\n- A\n[poll name=2]\n- B\n- C\n[/poll]\n- D\n[/poll]" title: title, raw: "[poll name=1]\n- A\n[poll name=2]\n- B\n- C\n[/poll]\n- D\n[/poll]"
}, format: :json }, format: :json
expect(response).to be_success expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json["cooked"]).to match("data-poll-") expect(json["cooked"]).to match("data-poll-")
expect(json["polls"]["1"]).to_not be expect(json["polls"]["1"]).to_not be
@ -148,7 +148,7 @@ describe PostsController do
id: post_id, post: { raw: "[poll]\n- A\n- B\n- C\n[/poll]" } id: post_id, post: { raw: "[poll]\n- A\n- B\n- C\n[/poll]" }
}, format: :json }, format: :json
expect(response).to be_success expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json["post"]["polls"]["poll"]["options"][2]["html"]).to eq("C") expect(json["post"]["polls"]["poll"]["options"][2]["html"]).to eq("C")
end end
@ -160,7 +160,7 @@ describe PostsController do
id: post_id, post: { raw: "[poll]\n- A\n- B\n- C\n[/poll]" } id: post_id, post: { raw: "[poll]\n- A\n- B\n- C\n[/poll]" }
}, format: :json }, format: :json
expect(response).to be_success expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json["post"]["polls_votes"]).to_not be expect(json["post"]["polls_votes"]).to_not be
end end
@ -196,7 +196,7 @@ describe PostsController do
id: post_id, post: { raw: new_option } id: post_id, post: { raw: new_option }
}, format: :json }, format: :json
expect(response).to be_success expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json["post"]["polls"]["poll"]["options"][1]["html"]).to eq("C") expect(json["post"]["polls"]["poll"]["options"][1]["html"]).to eq("C")
end end
@ -208,14 +208,14 @@ describe PostsController do
id: post_id, post: { raw: new_option } id: post_id, post: { raw: new_option }
}, format: :json }, format: :json
expect(response).to be_success expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json["post"]["polls"]["poll"]["options"][1]["html"]).to eq("C") expect(json["post"]["polls"]["poll"]["options"][1]["html"]).to eq("C")
end end
it "support changes on the post" do it "support changes on the post" do
put :update, params: { id: post_id, post: { raw: updated } }, format: :json put :update, params: { id: post_id, post: { raw: updated } }, format: :json
expect(response).to be_success expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json["post"]["cooked"]).to match("before") expect(json["post"]["cooked"]).to match("before")
end end
@ -248,7 +248,7 @@ describe PostsController do
id: post_id, post: { raw: new_option } id: post_id, post: { raw: new_option }
}, format: :json }, format: :json
expect(response).to be_success expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json["post"]["polls"]["poll"]["options"][1]["html"]).to eq("C") expect(json["post"]["polls"]["poll"]["options"][1]["html"]).to eq("C")
expect(json["post"]["polls"]["poll"]["voters"]).to eq(1) expect(json["post"]["polls"]["poll"]["voters"]).to eq(1)
@ -267,7 +267,7 @@ describe PostsController do
id: post_id, post: { raw: new_option } id: post_id, post: { raw: new_option }
}, format: :json }, format: :json
expect(response).to be_success expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json["post"]["polls"]["poll"]["options"][1]["html"]).to eq("C") expect(json["post"]["polls"]["poll"]["options"][1]["html"]).to eq("C")
@ -278,7 +278,7 @@ describe PostsController do
it "support changes on the post" do it "support changes on the post" do
put :update, params: { id: post_id, post: { raw: updated } }, format: :json put :update, params: { id: post_id, post: { raw: updated } }, format: :json
expect(response).to be_success expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json["post"]["cooked"]).to match("before") expect(json["post"]["cooked"]).to match("before")
end end
@ -322,7 +322,7 @@ describe PostsController do
title: title, raw: "[poll]\n- A\n- B\n[/poll]\n[poll name=foo]\n- A\n- B\n[/poll]" title: title, raw: "[poll]\n- A\n- B\n[/poll]\n[poll name=foo]\n- A\n- B\n[/poll]"
}, format: :json }, format: :json
expect(response).to be_success expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json["cooked"]).to match("data-poll-") expect(json["cooked"]).to match("data-poll-")
expect(json["polls"]["poll"]).to be expect(json["polls"]["poll"]).to be
@ -363,7 +363,7 @@ describe PostsController do
title: title, raw: "[poll]\n- A\n- B\n[/poll]" title: title, raw: "[poll]\n- A\n- B\n[/poll]"
}, format: :json }, format: :json
expect(response).to be_success expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json["cooked"]).to eq("<p>[poll]</p>\n<ul>\n<li>A</li>\n<li>B<br>\n[/poll]</li>\n</ul>") expect(json["cooked"]).to eq("<p>[poll]</p>\n<ul>\n<li>A</li>\n<li>B<br>\n[/poll]</li>\n</ul>")
end end
@ -399,7 +399,7 @@ describe PostsController do
title: title, raw: "[poll]\n- A\n- B\n[/poll]" title: title, raw: "[poll]\n- A\n- B\n[/poll]"
}, format: :json }, format: :json
expect(response).to be_success expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json["cooked"]).to match("data-poll-") expect(json["cooked"]).to match("data-poll-")
expect(json["polls"]["poll"]).to be expect(json["polls"]["poll"]).to be
@ -418,7 +418,7 @@ describe PostsController do
title: title, raw: "[poll]\n- A\n- B\n[/poll]" title: title, raw: "[poll]\n- A\n- B\n[/poll]"
}, format: :json }, format: :json
expect(response).to be_success expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json["cooked"]).to match("data-poll-") expect(json["cooked"]).to match("data-poll-")
expect(json["polls"]["poll"]).to be expect(json["polls"]["poll"]).to be
@ -437,7 +437,7 @@ describe PostsController do
title: title, raw: "[poll]\n- A\n- B\n[/poll]" title: title, raw: "[poll]\n- A\n- B\n[/poll]"
}, format: :json }, format: :json
expect(response).to be_success expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json["cooked"]).to match("data-poll-") expect(json["cooked"]).to match("data-poll-")
expect(json["polls"]["poll"]).to be expect(json["polls"]["poll"]).to be

View File

@ -11,7 +11,7 @@ describe Admin::ApiController do
context '.index' do context '.index' do
it "succeeds" do it "succeeds" do
get :index, format: :json get :index, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end

View File

@ -28,7 +28,7 @@ describe Admin::BackupsController do
get :index, format: :html, xhr: true get :index, format: :html, xhr: true
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
@ -40,7 +40,7 @@ describe Admin::BackupsController do
get :index, format: :json, xhr: true get :index, format: :json, xhr: true
expect(response).to be_successful expect(response.status).to eq(200)
json = JSON.parse(response.body) json = JSON.parse(response.body)
expect(json[0]["filename"]).to eq("backup1") expect(json[0]["filename"]).to eq("backup1")
@ -58,7 +58,7 @@ describe Admin::BackupsController do
get :status, format: :json get :status, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
@ -72,7 +72,7 @@ describe Admin::BackupsController do
with_uploads: false, client_id: "foo" with_uploads: false, client_id: "foo"
}, format: :json }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
@ -139,7 +139,7 @@ describe Admin::BackupsController do
delete :destroy, params: { id: backup_filename }, format: :json delete :destroy, params: { id: backup_filename }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "doesn't remove the backup if not found" do it "doesn't remove the backup if not found" do
@ -162,7 +162,7 @@ describe Admin::BackupsController do
get :logs, format: :html, xhr: true get :logs, format: :html, xhr: true
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
@ -175,7 +175,7 @@ describe Admin::BackupsController do
post :restore, params: { id: backup_filename, client_id: "foo" }, format: :json post :restore, params: { id: backup_filename, client_id: "foo" }, format: :json
expect(SiteSetting.disable_emails).to eq(true) expect(SiteSetting.disable_emails).to eq(true)
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
@ -188,7 +188,7 @@ describe Admin::BackupsController do
expect { put :readonly, params: { enable: true }, format: :json } expect { put :readonly, params: { enable: true }, format: :json }
.to change { UserHistory.count }.by(1) .to change { UserHistory.count }.by(1)
expect(response).to be_successful expect(response.status).to eq(200)
user_history = UserHistory.last user_history = UserHistory.last
@ -202,7 +202,7 @@ describe Admin::BackupsController do
expect { put :readonly, params: { enable: false }, format: :json } expect { put :readonly, params: { enable: false }, format: :json }
.to change { UserHistory.count }.by(1) .to change { UserHistory.count }.by(1)
expect(response).to be_successful expect(response.status).to eq(200)
user_history = UserHistory.last user_history = UserHistory.last

View File

@ -9,7 +9,7 @@ describe Admin::BadgesController do
context 'index' do context 'index' do
it 'returns badge index' do it 'returns badge index' do
get :index, format: :json get :index, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
@ -79,7 +79,7 @@ describe Admin::BadgesController do
it 'returns JSON' do it 'returns JSON' do
get :badge_types, format: :json get :badge_types, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
expect(::JSON.parse(response.body)["badge_types"]).to be_present expect(::JSON.parse(response.body)["badge_types"]).to be_present
end end
end end
@ -87,7 +87,7 @@ describe Admin::BadgesController do
context '.destroy' do context '.destroy' do
it 'deletes the badge' do it 'deletes the badge' do
delete :destroy, params: { id: badge.id }, format: :json delete :destroy, params: { id: badge.id }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
expect(Badge.where(id: badge.id).exists?).to eq(false) expect(Badge.where(id: badge.id).exists?).to eq(false)
expect(UserHistory.where(acting_user_id: user.id, action: UserHistory.actions[:delete_badge]).exists?).to eq(true) expect(UserHistory.where(acting_user_id: user.id, action: UserHistory.actions[:delete_badge]).exists?).to eq(true)
end end
@ -104,7 +104,7 @@ describe Admin::BadgesController do
name: "123456" name: "123456"
}, format: :json }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
editor_badge.reload editor_badge.reload
expect(editor_badge.name).to eq(editor_badge_name) expect(editor_badge.name).to eq(editor_badge_name)
@ -127,7 +127,7 @@ describe Admin::BadgesController do
enabled: true enabled: true
}, format: :json }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
badge.reload badge.reload
expect(badge.name).to eq('123456') expect(badge.name).to eq('123456')
expect(badge.query).to eq('select 123') expect(badge.query).to eq('select 123')
@ -147,7 +147,7 @@ describe Admin::BadgesController do
enabled: true enabled: true
}, format: :json }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
badge.reload badge.reload
expect(badge.name).to eq('123456') expect(badge.name).to eq('123456')
expect(badge.query).to eq(sql) expect(badge.query).to eq(sql)

View File

@ -21,7 +21,7 @@ describe Admin::ColorSchemesController do
Fabricate(:color_scheme) Fabricate(:color_scheme)
get :index, format: :json get :index, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
expect(::JSON.parse(response.body)).to be_present expect(::JSON.parse(response.body)).to be_present
end end
end end
@ -30,7 +30,7 @@ describe Admin::ColorSchemesController do
it "returns JSON" do it "returns JSON" do
post :create, params: valid_params, format: :json post :create, params: valid_params, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
expect(::JSON.parse(response.body)['id']).to be_present expect(::JSON.parse(response.body)['id']).to be_present
end end
@ -51,7 +51,7 @@ describe Admin::ColorSchemesController do
it "returns success" do it "returns success" do
ColorSchemeRevisor.expects(:revise).returns(existing) ColorSchemeRevisor.expects(:revise).returns(existing)
put :update, params: valid_params.merge(id: existing.id), format: :json put :update, params: valid_params.merge(id: existing.id), format: :json
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "returns JSON" do it "returns JSON" do
@ -78,7 +78,7 @@ describe Admin::ColorSchemesController do
expect { expect {
delete :destroy, params: { id: existing.id }, format: :json delete :destroy, params: { id: existing.id }, format: :json
}.to change { ColorScheme.count }.by(-1) }.to change { ColorScheme.count }.by(-1)
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
end end

View File

@ -23,7 +23,7 @@ describe Admin::DashboardController do
it 'returns discourse version info' do it 'returns discourse version info' do
get :index, format: :json get :index, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
expect(JSON.parse(response.body)['version_check']).to be_present expect(JSON.parse(response.body)['version_check']).to be_present
end end
end end
@ -50,7 +50,7 @@ describe Admin::DashboardController do
it 'returns an empty array' do it 'returns an empty array' do
get :problems, format: :json get :problems, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
json = JSON.parse(response.body) json = JSON.parse(response.body)
expect(json['problems'].size).to eq(0) expect(json['problems'].size).to eq(0)
end end

View File

@ -76,7 +76,7 @@ describe Admin::EmailController do
last_seen_at: 1.week.ago, username: user.username last_seen_at: 1.week.ago, username: user.username
}, format: :json }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end

View File

@ -23,7 +23,7 @@ describe Admin::EmojisController do
it "returns a list of custom emojis" do it "returns a list of custom emojis" do
Emoji.expects(:custom).returns([custom_emoji]) Emoji.expects(:custom).returns([custom_emoji])
get :index, format: :json get :index, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json[0]["name"]).to eq(custom_emoji.name) expect(json[0]["name"]).to eq(custom_emoji.name)
expect(json[0]["url"]).to eq(custom_emoji.url) expect(json[0]["url"]).to eq(custom_emoji.url)

View File

@ -13,7 +13,7 @@ describe Admin::ImpersonateController do
context 'index' do context 'index' do
it 'returns success' do it 'returns success' do
get :index, format: :json get :index, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
@ -48,7 +48,7 @@ describe Admin::ImpersonateController do
it "returns success" do it "returns success" do
post :create, params: { username_or_email: user.email }, format: :json post :create, params: { username_or_email: user.email }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "also works with an email address" do it "also works with an email address" do

View File

@ -17,7 +17,7 @@ describe Admin::PermalinksController do
get :index, params: { filter: "topic" }, format: :json get :index, params: { filter: "topic" }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
result = JSON.parse(response.body) result = JSON.parse(response.body)
expect(result.length).to eq(2) expect(result.length).to eq(2)
end end
@ -30,7 +30,7 @@ describe Admin::PermalinksController do
get :index, params: { filter: "discourse" }, format: :json get :index, params: { filter: "discourse" }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
result = JSON.parse(response.body) result = JSON.parse(response.body)
expect(result.length).to eq(2) expect(result.length).to eq(2)
end end
@ -43,7 +43,7 @@ describe Admin::PermalinksController do
get :index, params: { filter: "discourse" }, format: :json get :index, params: { filter: "discourse" }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
result = JSON.parse(response.body) result = JSON.parse(response.body)
expect(result.length).to eq(3) expect(result.length).to eq(3)
end end

View File

@ -11,7 +11,7 @@ describe Admin::PluginsController do
it 'should return JSON' do it 'should return JSON' do
get :index, format: :json get :index, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
expect(::JSON.parse(response.body).has_key?('plugins')).to eq(true) expect(::JSON.parse(response.body).has_key?('plugins')).to eq(true)
end end
end end

View File

@ -45,7 +45,7 @@ describe Admin::ReportsController do
end end
it "renders the report as JSON" do it "renders the report as JSON" do
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "renders the report as JSON" do it "renders the report as JSON" do
@ -67,7 +67,7 @@ describe Admin::ReportsController do
get :show, params: { type: 'topics', category_id: category.id }, format: :json get :show, params: { type: 'topics', category_id: category.id }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
report = JSON.parse(response.body)["report"] report = JSON.parse(response.body)["report"]
@ -87,7 +87,7 @@ describe Admin::ReportsController do
get :show, params: { type: 'signups', group_id: group.id }, format: :json get :show, params: { type: 'signups', group_id: group.id }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
report = JSON.parse(response.body)["report"] report = JSON.parse(response.body)["report"]

View File

@ -18,13 +18,13 @@ describe Admin::ScreenedIpAddressesController do
get :index, params: { filter: "1.2.*" }, format: :json get :index, params: { filter: "1.2.*" }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
result = JSON.parse(response.body) result = JSON.parse(response.body)
expect(result.length).to eq(3) expect(result.length).to eq(3)
get :index, params: { filter: "4.5.6.7" }, format: :json get :index, params: { filter: "4.5.6.7" }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
result = JSON.parse(response.body) result = JSON.parse(response.body)
expect(result.length).to eq(1) expect(result.length).to eq(1)
end end
@ -45,7 +45,7 @@ describe Admin::ScreenedIpAddressesController do
SiteSetting.min_ban_entries_for_roll_up = 3 SiteSetting.min_ban_entries_for_roll_up = 3
post :roll_up, format: :json post :roll_up, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
subnet = ScreenedIpAddress.where(ip_address: "1.2.3.0/24").first subnet = ScreenedIpAddress.where(ip_address: "1.2.3.0/24").first
expect(subnet).to be_present expect(subnet).to be_present
@ -65,7 +65,7 @@ describe Admin::ScreenedIpAddressesController do
SiteSetting.min_ban_entries_for_roll_up = 5 SiteSetting.min_ban_entries_for_roll_up = 5
post :roll_up, format: :json post :roll_up, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
subnet = ScreenedIpAddress.where(ip_address: "1.2.0.0/16").first subnet = ScreenedIpAddress.where(ip_address: "1.2.0.0/16").first
expect(subnet).to be_present expect(subnet).to be_present

View File

@ -14,7 +14,7 @@ describe Admin::SiteTextsController do
context '.index' do context '.index' do
it 'returns json' do it 'returns json' do
get :index, params: { q: 'title' }, format: :json get :index, params: { q: 'title' }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
expect(::JSON.parse(response.body)).to be_present expect(::JSON.parse(response.body)).to be_present
end end
end end
@ -22,7 +22,7 @@ describe Admin::SiteTextsController do
context '.show' do context '.show' do
it 'returns a site text for a key that exists' do it 'returns a site text for a key that exists' do
get :show, params: { id: 'title' }, format: :json get :show, params: { id: 'title' }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json).to be_present expect(json).to be_present
@ -71,7 +71,7 @@ describe Admin::SiteTextsController do
orig_title = I18n.t(:title) orig_title = I18n.t(:title)
put :update, params: { id: 'title', site_text: { value: 'hello' } }, format: :json put :update, params: { id: 'title', site_text: { value: 'hello' } }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json).to be_present expect(json).to be_present
@ -84,7 +84,7 @@ describe Admin::SiteTextsController do
# Revert # Revert
put :revert, params: { id: 'title' }, format: :json put :revert, params: { id: 'title' }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json).to be_present expect(json).to be_present

View File

@ -17,7 +17,7 @@ describe Admin::StaffActionLogsController do
get :index, params: { action_id: UserHistory.actions[:delete_topic] }, format: :json get :index, params: { action_id: UserHistory.actions[:delete_topic] }, format: :json
json = JSON.parse(response.body) json = JSON.parse(response.body)
expect(response).to be_successful expect(response.status).to eq(200)
expect(json["staff_action_logs"].length).to eq(1) expect(json["staff_action_logs"].length).to eq(1)
expect(json["staff_action_logs"][0]["action_name"]).to eq("delete_topic") expect(json["staff_action_logs"][0]["action_name"]).to eq("delete_topic")
@ -41,7 +41,7 @@ describe Admin::StaffActionLogsController do
.log_theme_change(original_json, theme) .log_theme_change(original_json, theme)
get :diff, params: { id: record.id }, format: :json get :diff, params: { id: record.id }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
parsed = JSON.parse(response.body) parsed = JSON.parse(response.body)
expect(parsed["side_by_side"]).to include("up") expect(parsed["side_by_side"]).to include("up")

View File

@ -66,7 +66,7 @@ describe Admin::ThemesController do
upload.destroy upload.destroy
post :import, params: { theme: uploaded_json }, format: :json post :import, params: { theme: uploaded_json }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
temp.unlink temp.unlink
theme = Theme.last theme = Theme.last
@ -79,7 +79,7 @@ describe Admin::ThemesController do
it 'imports a theme' do it 'imports a theme' do
post :import, params: { theme: theme_file }, format: :json post :import, params: { theme: theme_file }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
@ -113,7 +113,7 @@ describe Admin::ThemesController do
get :index, format: :json get :index, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
@ -133,7 +133,7 @@ describe Admin::ThemesController do
} }
}, format: :json }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
@ -186,7 +186,7 @@ describe Admin::ThemesController do
} }
}, format: :json }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)

View File

@ -16,7 +16,7 @@ describe Admin::UserFieldsController do
user_field: { name: 'hello', description: 'hello desc', field_type: 'text' } user_field: { name: 'hello', description: 'hello desc', field_type: 'text' }
}, format: :json }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
}.to change(UserField, :count).by(1) }.to change(UserField, :count).by(1)
end end
@ -31,7 +31,7 @@ describe Admin::UserFieldsController do
} }
}, format: :json }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
end.to change(UserField, :count).by(1) end.to change(UserField, :count).by(1)
expect(UserFieldOption.count).to eq(3) expect(UserFieldOption.count).to eq(3)
@ -43,7 +43,7 @@ describe Admin::UserFieldsController do
it "returns a list of user fields" do it "returns a list of user fields" do
get :index, format: :json get :index, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json['user_fields']).to be_present expect(json['user_fields']).to be_present
end end
@ -55,7 +55,7 @@ describe Admin::UserFieldsController do
it "deletes the user field" do it "deletes the user field" do
expect { expect {
delete :destroy, params: { id: user_field.id }, format: :json delete :destroy, params: { id: user_field.id }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
}.to change(UserField, :count).by(-1) }.to change(UserField, :count).by(-1)
end end
end end
@ -69,7 +69,7 @@ describe Admin::UserFieldsController do
user_field: { name: 'fraggle', field_type: 'confirm', description: 'muppet' } user_field: { name: 'fraggle', field_type: 'confirm', description: 'muppet' }
}, format: :json }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
user_field.reload user_field.reload
expect(user_field.name).to eq('fraggle') expect(user_field.name).to eq('fraggle')
expect(user_field.field_type).to eq('confirm') expect(user_field.field_type).to eq('confirm')
@ -86,7 +86,7 @@ describe Admin::UserFieldsController do
} }
}, format: :json }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
user_field.reload user_field.reload
expect(user_field.name).to eq('fraggle') expect(user_field.name).to eq('fraggle')
expect(user_field.field_type).to eq('dropdown') expect(user_field.field_type).to eq('dropdown')
@ -105,7 +105,7 @@ describe Admin::UserFieldsController do
} }
}, format: :json }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
user_field.reload user_field.reload
expect(user_field.user_field_options.size).to eq(2) expect(user_field.user_field_options.size).to eq(2)
@ -119,7 +119,7 @@ describe Admin::UserFieldsController do
} }
}, format: :json }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
user_field.reload user_field.reload
expect(user_field.user_field_options.size).to eq(2) expect(user_field.user_field_options.size).to eq(2)
end end

View File

@ -15,7 +15,7 @@ describe Admin::UsersController do
context '#index' do context '#index' do
it 'returns success' do it 'returns success' do
get :index, format: :json get :index, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
end end
it 'returns JSON' do it 'returns JSON' do
@ -48,7 +48,7 @@ describe Admin::UsersController do
context 'an existing user' do context 'an existing user' do
it 'returns success' do it 'returns success' do
get :show, params: { id: @user.id }, format: :json get :show, params: { id: @user.id }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
@ -135,7 +135,7 @@ describe Admin::UsersController do
format: :json format: :json
} }
) )
expect(response).to be_successful expect(response.status).to eq(200)
user.reload user.reload
expect(user).to be_suspended expect(user).to be_suspended
@ -160,7 +160,7 @@ describe Admin::UsersController do
it "can have an associated post" do it "can have an associated post" do
put(:suspend, params: suspend_params) put(:suspend, params: suspend_params)
expect(response).to be_successful expect(response.status).to eq(200)
log = UserHistory.where(target_user_id: user.id).order('id desc').first log = UserHistory.where(target_user_id: user.id).order('id desc').first
expect(log).to be_present expect(log).to be_present
@ -171,7 +171,7 @@ describe Admin::UsersController do
put(:suspend, params: suspend_params.merge(post_action: 'delete')) put(:suspend, params: suspend_params.merge(post_action: 'delete'))
post.reload post.reload
expect(post.deleted_at).to be_present expect(post.deleted_at).to be_present
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "can edit an associated post" do it "can edit an associated post" do
@ -182,7 +182,7 @@ describe Admin::UsersController do
post.reload post.reload
expect(post.deleted_at).to be_blank expect(post.deleted_at).to be_blank
expect(post.raw).to eq("this is the edited content") expect(post.raw).to eq("this is the edited content")
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
@ -205,7 +205,7 @@ describe Admin::UsersController do
format: :json format: :json
} }
) )
expect(response).to be_successful expect(response.status).to eq(200)
log = UserHistory.where(target_user_id: user.id).order('id desc').first log = UserHistory.where(target_user_id: user.id).order('id desc').first
expect(log).to be_present expect(log).to be_present
@ -274,7 +274,7 @@ describe Admin::UsersController do
group_id: group.id, user_id: user.id group_id: group.id, user_id: user.id
}, format: :json }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
expect(GroupUser.where(user_id: user.id, group_id: group.id).exists?).to eq(true) expect(GroupUser.where(user_id: user.id, group_id: group.id).exists?).to eq(true)
group_history = GroupHistory.last group_history = GroupHistory.last
@ -288,7 +288,7 @@ describe Admin::UsersController do
group_id: group.id, user_id: user.id group_id: group.id, user_id: user.id
}, format: :json }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
@ -378,7 +378,7 @@ describe Admin::UsersController do
@another_user.reload @another_user.reload
expect(@another_user.trust_level).to eq(2) expect(@another_user.trust_level).to eq(2)
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "raises no error when demoting a user below their current trust level (locks trust level)" do it "raises no error when demoting a user below their current trust level (locks trust level)" do
@ -394,7 +394,7 @@ describe Admin::UsersController do
level: TrustLevel[0] level: TrustLevel[0]
}, format: :json }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
@another_user.reload @another_user.reload
expect(@another_user.trust_level).to eq(TrustLevel[0]) expect(@another_user.trust_level).to eq(TrustLevel[0])
expect(@another_user.manual_locked_trust_level).to eq(TrustLevel[0]) expect(@another_user.manual_locked_trust_level).to eq(TrustLevel[0])
@ -474,7 +474,7 @@ describe Admin::UsersController do
users: [reject_me.id, reject_me_too.id] users: [reject_me.id, reject_me_too.id]
}, format: :json }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json['success'].to_i).to eq(2) expect(json['success'].to_i).to eq(2)
expect(json['failed'].to_i).to eq(0) expect(json['failed'].to_i).to eq(0)
@ -493,7 +493,7 @@ describe Admin::UsersController do
users: [reject_me.id, reject_me_too.id] users: [reject_me.id, reject_me_too.id]
}, format: :json }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json['success'].to_i).to eq(1) expect(json['success'].to_i).to eq(1)
expect(json['failed'].to_i).to eq(1) expect(json['failed'].to_i).to eq(1)
@ -506,7 +506,7 @@ describe Admin::UsersController do
users: [reject_me.id] users: [reject_me.id]
}, format: :json }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json['success'].to_i).to eq(0) expect(json['success'].to_i).to eq(0)
expect(json['failed'].to_i).to eq(1) expect(json['failed'].to_i).to eq(1)
@ -538,7 +538,7 @@ describe Admin::UsersController do
it "doesn't return an error if delete_posts == true" do it "doesn't return an error if delete_posts == true" do
delete :destroy, params: { id: delete_me.id, delete_posts: true }, format: :json delete :destroy, params: { id: delete_me.id, delete_posts: true }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
@ -555,7 +555,7 @@ describe Admin::UsersController do
it "returns success" do it "returns success" do
put :activate, params: { user_id: @reg_user.id }, format: :json put :activate, params: { user_id: @reg_user.id }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json['success']).to eq("OK") expect(json['success']).to eq("OK")
end end
@ -567,7 +567,7 @@ describe Admin::UsersController do
expect(@reg_user.email_confirmed?).to eq(false) expect(@reg_user.email_confirmed?).to eq(false)
put :activate, params: { user_id: @reg_user.id }, format: :json put :activate, params: { user_id: @reg_user.id }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
@reg_user.reload @reg_user.reload
expect(@reg_user.email_confirmed?).to eq(true) expect(@reg_user.email_confirmed?).to eq(true)
@ -581,7 +581,7 @@ describe Admin::UsersController do
it "returns success" do it "returns success" do
put :log_out, params: { user_id: @reg_user.id }, format: :json put :log_out, params: { user_id: @reg_user.id }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json['success']).to eq("OK") expect(json['success']).to eq("OK")
end end
@ -612,7 +612,7 @@ describe Admin::UsersController do
it "punishes the user for spamming" do it "punishes the user for spamming" do
put :silence, params: { user_id: @reg_user.id }, format: :json put :silence, params: { user_id: @reg_user.id }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
@reg_user.reload @reg_user.reload
expect(@reg_user).to be_silenced expect(@reg_user).to be_silenced
end end
@ -626,7 +626,7 @@ describe Admin::UsersController do
post_action: 'edit', post_action: 'edit',
post_edit: "this is the new contents for the post" post_edit: "this is the new contents for the post"
}, format: :json }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
silence_post.reload silence_post.reload
expect(silence_post.raw).to eq("this is the new contents for the post") expect(silence_post.raw).to eq("this is the new contents for the post")
@ -742,7 +742,7 @@ describe Admin::UsersController do
name: 'Bill', username: 'bill22', email: 'bill@bill.com' name: 'Bill', username: 'bill22', email: 'bill@bill.com'
}, format: :json }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
u = User.find_by_email('bill@bill.com') u = User.find_by_email('bill@bill.com')
expect(u.name).to eq("Bill") expect(u.name).to eq("Bill")
@ -758,7 +758,7 @@ describe Admin::UsersController do
name: 'Bill', username: 'bill22', email: 'bill@bill.com', send_email: '0' name: 'Bill', username: 'bill22', email: 'bill@bill.com', send_email: '0'
}, format: :json }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json["password_url"]).to be_present expect(json["password_url"]).to be_present
end end
@ -806,7 +806,7 @@ describe Admin::UsersController do
sso.email = "bob2@bob.com" sso.email = "bob2@bob.com"
post :sync_sso, params: Rack::Utils.parse_query(sso.payload), format: :json post :sync_sso, params: Rack::Utils.parse_query(sso.payload), format: :json
expect(response).to be_successful expect(response.status).to eq(200)
user.reload user.reload
expect(user.email).to eq("bob2@bob.com") expect(user.email).to eq("bob2@bob.com")
@ -820,7 +820,7 @@ describe Admin::UsersController do
sso.email = "dr@claw.com" sso.email = "dr@claw.com"
sso.external_id = "2" sso.external_id = "2"
post :sync_sso, params: Rack::Utils.parse_query(sso.payload), format: :json post :sync_sso, params: Rack::Utils.parse_query(sso.payload), format: :json
expect(response).to be_successful expect(response.status).to eq(200)
user = User.find_by_email('dr@claw.com') user = User.find_by_email('dr@claw.com')
expect(user).to be_present expect(user).to be_present

View File

@ -28,7 +28,7 @@ describe Admin::WebHooksController do
} }
}, format: :json }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json["web_hook"]["payload_url"]).to be_present expect(json["web_hook"]["payload_url"]).to be_present
@ -62,7 +62,7 @@ describe Admin::WebHooksController do
post :ping, params: { id: web_hook.id }, format: :json post :ping, params: { id: web_hook.id }, format: :json
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
end end

View File

@ -8,7 +8,7 @@ describe AboutController do
SiteSetting.login_required = false SiteSetting.login_required = false
get "/about" get "/about"
expect(response).to be_successful expect(response.status).to eq(200)
end end
it 'should redirect to login page for anonymous user when login_required is true' do it 'should redirect to login page for anonymous user when login_required is true' do
@ -23,7 +23,7 @@ describe AboutController do
sign_in(Fabricate(:user)) sign_in(Fabricate(:user))
get "/about" get "/about"
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
end end

View File

@ -21,7 +21,7 @@ RSpec.describe Admin::BackupsController do
post "/admin/backups/rollback.json" post "/admin/backups/rollback.json"
expect(response).to be_successful expect(response.status).to eq(200)
end end
it 'should not allow rollback via a GET request' do it 'should not allow rollback via a GET request' do
@ -36,7 +36,7 @@ RSpec.describe Admin::BackupsController do
delete "/admin/backups/cancel.json" delete "/admin/backups/cancel.json"
expect(response).to be_successful expect(response.status).to eq(200)
end end
it 'should not allow cancel via a GET request' do it 'should not allow cancel via a GET request' do
@ -59,7 +59,7 @@ RSpec.describe Admin::BackupsController do
put "/admin/backups/#{backup_filename}.json" put "/admin/backups/#{backup_filename}.json"
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "returns 404 when the backup does not exist" do it "returns 404 when the backup does not exist" do

View File

@ -33,7 +33,7 @@ RSpec.describe Admin::EmailTemplatesController do
sign_in(admin) sign_in(admin)
get '/admin/customize/email_templates.json' get '/admin/customize/email_templates.json'
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json['email_templates']).to be_present expect(json['email_templates']).to be_present
@ -169,7 +169,7 @@ RSpec.describe Admin::EmailTemplatesController do
email_template: { subject: email_subject, body: email_body } email_template: { subject: email_subject, body: email_body }
}, headers: headers }, headers: headers
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json).to be_present expect(json).to be_present
@ -265,7 +265,7 @@ RSpec.describe Admin::EmailTemplatesController do
it "returns the restored email template" do it "returns the restored email template" do
delete '/admin/customize/email_templates/user_notifications.admin_login', headers: headers delete '/admin/customize/email_templates/user_notifications.admin_login', headers: headers
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json).to be_present expect(json).to be_present

View File

@ -6,7 +6,7 @@ RSpec.describe Admin::FlaggedTopicsController do
shared_examples "successfully retrieve list of flagged topics" do shared_examples "successfully retrieve list of flagged topics" do
it "returns a list of flagged topics" do it "returns a list of flagged topics" do
get "/admin/flagged_topics.json" get "/admin/flagged_topics.json"
expect(response).to be_successful expect(response.status).to eq(200)
data = ::JSON.parse(response.body) data = ::JSON.parse(response.body)
expect(data['flagged_topics']).to be_present expect(data['flagged_topics']).to be_present

View File

@ -13,7 +13,7 @@ RSpec.describe Admin::FlagsController do
it 'should return the right response when nothing is flagged' do it 'should return the right response when nothing is flagged' do
get '/admin/flags.json' get '/admin/flags.json'
expect(response).to be_successful expect(response.status).to eq(200)
data = ::JSON.parse(response.body) data = ::JSON.parse(response.body)
expect(data["users"]).to eq([]) expect(data["users"]).to eq([])
@ -25,7 +25,7 @@ RSpec.describe Admin::FlagsController do
get '/admin/flags.json' get '/admin/flags.json'
expect(response).to be_successful expect(response.status).to eq(200)
data = ::JSON.parse(response.body) data = ::JSON.parse(response.body)
expect(data["users"].length).to eq(2) expect(data["users"].length).to eq(2)

View File

@ -22,7 +22,7 @@ RSpec.describe Admin::BackupsController do
describe "for a post" do describe "for a post" do
it "returns an empty array when the post doesn't exist" do it "returns an empty array when the post doesn't exist" do
get "/admin/moderation_history.json?filter=post&post_id=99999999" get "/admin/moderation_history.json?filter=post&post_id=99999999"
expect(response).to be_successful expect(response.status).to eq(200)
expect(::JSON.parse(response.body)['moderation_history']).to be_blank expect(::JSON.parse(response.body)['moderation_history']).to be_blank
end end
@ -31,7 +31,7 @@ RSpec.describe Admin::BackupsController do
p = Fabricate(:post, topic: p.topic) p = Fabricate(:post, topic: p.topic)
PostDestroyer.new(Discourse.system_user, p).destroy PostDestroyer.new(Discourse.system_user, p).destroy
get "/admin/moderation_history.json?filter=post&post_id=#{p.id}" get "/admin/moderation_history.json?filter=post&post_id=#{p.id}"
expect(response).to be_successful expect(response.status).to eq(200)
expect(::JSON.parse(response.body)['moderation_history']).to be_present expect(::JSON.parse(response.body)['moderation_history']).to be_present
end end
@ -40,7 +40,7 @@ RSpec.describe Admin::BackupsController do
describe "for a topic" do describe "for a topic" do
it "returns empty history when the topic doesn't exist" do it "returns empty history when the topic doesn't exist" do
get "/admin/moderation_history.json?filter=topic&topic_id=1234" get "/admin/moderation_history.json?filter=topic&topic_id=1234"
expect(response).to be_successful expect(response.status).to eq(200)
expect(::JSON.parse(response.body)['moderation_history']).to be_blank expect(::JSON.parse(response.body)['moderation_history']).to be_blank
end end
@ -48,7 +48,7 @@ RSpec.describe Admin::BackupsController do
p = Fabricate(:post) p = Fabricate(:post)
PostDestroyer.new(Discourse.system_user, p).destroy PostDestroyer.new(Discourse.system_user, p).destroy
get "/admin/moderation_history.json?filter=topic&topic_id=#{p.topic_id}" get "/admin/moderation_history.json?filter=topic&topic_id=#{p.topic_id}"
expect(response).to be_successful expect(response.status).to eq(200)
expect(::JSON.parse(response.body)['moderation_history']).to be_present expect(::JSON.parse(response.body)['moderation_history']).to be_present
end end
end end

View File

@ -28,7 +28,7 @@ RSpec.describe Admin::SearchLogsController do
sign_in(admin) sign_in(admin)
get '/admin/logs/search_logs.json' get '/admin/logs/search_logs.json'
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json[0]['term']).to eq('ruby') expect(json[0]['term']).to eq('ruby')
@ -51,7 +51,7 @@ RSpec.describe Admin::SearchLogsController do
sign_in(admin) sign_in(admin)
get '/admin/logs/search_logs/term/ruby.json' get '/admin/logs/search_logs/term/ruby.json'
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json['term']['type']).to eq('search_log_term') expect(json['term']['type']).to eq('search_log_term')

View File

@ -136,7 +136,7 @@ describe CategoriesController do
expect do expect do
delete "/categories/#{category.slug}.json" delete "/categories/#{category.slug}.json"
end.to change(Category, :count).by(-1) end.to change(Category, :count).by(-1)
expect(response).to be_successful expect(response.status).to eq(200)
expect(UserHistory.count).to eq(1) expect(UserHistory.count).to eq(1)
end end
end end
@ -321,14 +321,14 @@ describe CategoriesController do
it 'accepts valid custom slug' do it 'accepts valid custom slug' do
put "/category/#{category.id}/slug.json", params: { slug: 'valid-slug' } put "/category/#{category.id}/slug.json", params: { slug: 'valid-slug' }
expect(response).to be_successful expect(response.status).to eq(200)
expect(category.reload.slug).to eq('valid-slug') expect(category.reload.slug).to eq('valid-slug')
end end
it 'accepts not well formed custom slug' do it 'accepts not well formed custom slug' do
put "/category/#{category.id}/slug.json", params: { slug: ' valid slug' } put "/category/#{category.id}/slug.json", params: { slug: ' valid slug' }
expect(response).to be_successful expect(response.status).to eq(200)
expect(category.reload.slug).to eq('valid-slug') expect(category.reload.slug).to eq('valid-slug')
end end
@ -336,7 +336,7 @@ describe CategoriesController do
SiteSetting.slug_generation_method = 'none' SiteSetting.slug_generation_method = 'none'
put "/category/#{category.id}/slug.json", params: { slug: ' another !_ slug @' } put "/category/#{category.id}/slug.json", params: { slug: ' another !_ slug @' }
expect(response).to be_successful expect(response.status).to eq(200)
expect(category.reload.slug).to eq('another-slug') expect(category.reload.slug).to eq('another-slug')
SiteSetting.slug_generation_method = 'ascii' SiteSetting.slug_generation_method = 'ascii'
end end

View File

@ -24,7 +24,7 @@ describe DirectoryItemsController do
it "succeeds" do it "succeeds" do
get '/directory_items.json', params: { period: 'all' } get '/directory_items.json', params: { period: 'all' }
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
@ -37,7 +37,7 @@ describe DirectoryItemsController do
it "succeeds with a valid value" do it "succeeds with a valid value" do
get '/directory_items.json', params: { period: 'all' } get '/directory_items.json', params: { period: 'all' }
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json).to be_present expect(json).to be_present
@ -58,7 +58,7 @@ describe DirectoryItemsController do
it "finds user by name" do it "finds user by name" do
get '/directory_items.json', params: { period: 'all', name: 'eviltrout' } get '/directory_items.json', params: { period: 'all', name: 'eviltrout' }
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json).to be_present expect(json).to be_present
@ -69,7 +69,7 @@ describe DirectoryItemsController do
it "finds staged user by name" do it "finds staged user by name" do
get '/directory_items.json', params: { period: 'all', name: 'stage_user' } get '/directory_items.json', params: { period: 'all', name: 'stage_user' }
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json).to be_present expect(json).to be_present
@ -80,7 +80,7 @@ describe DirectoryItemsController do
it "excludes users by username" do it "excludes users by username" do
get '/directory_items.json', params: { period: 'all', exclude_usernames: "stage_user,eviltrout" } get '/directory_items.json', params: { period: 'all', exclude_usernames: "stage_user,eviltrout" }
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json).to be_present expect(json).to be_present
@ -92,7 +92,7 @@ describe DirectoryItemsController do
it "filters users by group" do it "filters users by group" do
get '/directory_items.json', params: { period: 'all', group: group.name } get '/directory_items.json', params: { period: 'all', group: group.name }
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json).to be_present expect(json).to be_present

View File

@ -145,7 +145,7 @@ RSpec.describe EmailController do
key = SecureRandom.hex key = SecureRandom.hex
$redis.set(key, user.email) $redis.set(key, user.email)
get '/email/unsubscribed', params: { key: key, topic_id: topic.id } get '/email/unsubscribed', params: { key: key, topic_id: topic.id }
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.body).to include(topic.title) expect(response.body).to include(topic.title)
end end
end end
@ -155,7 +155,7 @@ RSpec.describe EmailController do
key = SecureRandom.hex key = SecureRandom.hex
$redis.set(key, user.email) $redis.set(key, user.email)
get '/email/unsubscribed', params: { key: key, topic_id: private_topic.id } get '/email/unsubscribed', params: { key: key, topic_id: private_topic.id }
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.body).to_not include(private_topic.title) expect(response.body).to_not include(private_topic.title)
end end
end end

View File

@ -27,7 +27,7 @@ describe EmbedController do
it "allows a topic to be embedded by id" do it "allows a topic to be embedded by id" do
topic = Fabricate(:topic) topic = Fabricate(:topic)
get '/embed/comments', params: { topic_id: topic.id }, headers: headers get '/embed/comments', params: { topic_id: topic.id }, headers: headers
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
@ -85,7 +85,7 @@ describe EmbedController do
end end
after do after do
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.headers['X-Frame-Options']).to eq("ALLOWALL") expect(response.headers['X-Frame-Options']).to eq("ALLOWALL")
end end
@ -139,7 +139,7 @@ describe EmbedController do
params: { embed_url: embed_url }, params: { embed_url: embed_url },
headers: { 'REFERER' => "http://eviltrout.com/wat/1-2-3.html" } headers: { 'REFERER' => "http://eviltrout.com/wat/1-2-3.html" }
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "works with the second host" do it "works with the second host" do
@ -147,7 +147,7 @@ describe EmbedController do
params: { embed_url: embed_url }, params: { embed_url: embed_url },
headers: { 'REFERER' => "http://eviltrout.com/wat/1-2-3.html" } headers: { 'REFERER' => "http://eviltrout.com/wat/1-2-3.html" }
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "works with a host with a path" do it "works with a host with a path" do
@ -155,7 +155,7 @@ describe EmbedController do
params: { embed_url: embed_url }, params: { embed_url: embed_url },
headers: { 'REFERER' => "https://example.com/some-other-path" } headers: { 'REFERER' => "https://example.com/some-other-path" }
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "contains custom class name" do it "contains custom class name" do

View File

@ -10,7 +10,7 @@ describe ExportCsvController do
describe ".export_entity" do describe ".export_entity" do
it "enqueues export job" do it "enqueues export job" do
post "/export_csv/export_entity.json", params: { entity: "user_archive" } post "/export_csv/export_entity.json", params: { entity: "user_archive" }
expect(response).to be_success expect(response.status).to eq(200)
expect(Jobs::ExportCsvFile.jobs.size).to eq(1) expect(Jobs::ExportCsvFile.jobs.size).to eq(1)
job_data = Jobs::ExportCsvFile.jobs.first["args"].first job_data = Jobs::ExportCsvFile.jobs.first["args"].first
@ -40,7 +40,7 @@ describe ExportCsvController do
describe ".export_entity" do describe ".export_entity" do
it "enqueues export job" do it "enqueues export job" do
post "/export_csv/export_entity.json", params: { entity: "staff_action" } post "/export_csv/export_entity.json", params: { entity: "staff_action" }
expect(response).to be_success expect(response.status).to eq(200)
expect(Jobs::ExportCsvFile.jobs.size).to eq(1) expect(Jobs::ExportCsvFile.jobs.size).to eq(1)
job_data = Jobs::ExportCsvFile.jobs.first["args"].first job_data = Jobs::ExportCsvFile.jobs.first["args"].first
@ -51,7 +51,7 @@ describe ExportCsvController do
it "should not rate limit export for staff" do it "should not rate limit export for staff" do
UserExport.create(file_name: "screened-email-150116-010145", user_id: admin.id) UserExport.create(file_name: "screened-email-150116-010145", user_id: admin.id)
post "/export_csv/export_entity.json", params: { entity: "staff_action" } post "/export_csv/export_entity.json", params: { entity: "staff_action" }
expect(response).to be_success expect(response.status).to eq(200)
expect(Jobs::ExportCsvFile.jobs.size).to eq(1) expect(Jobs::ExportCsvFile.jobs.size).to eq(1)
job_data = Jobs::ExportCsvFile.jobs.first["args"].first job_data = Jobs::ExportCsvFile.jobs.first["args"].first

View File

@ -42,7 +42,7 @@ describe ExtraLocalesController do
get "/extra-locales/admin" get "/extra-locales/admin"
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.body.include?("github_badges")).to eq(true) expect(response.body.include?("github_badges")).to eq(true)
end end
end end

View File

@ -152,7 +152,7 @@ describe GroupsController do
staff_group staff_group
get "/groups.json" get "/groups.json"
expect(response).to be_successful expect(response.status).to eq(200)
response_body = JSON.parse(response.body) response_body = JSON.parse(response.body)
@ -382,7 +382,7 @@ describe GroupsController do
sign_in(user) sign_in(user)
get "/groups/#{group.name}/mentionable.json" get "/groups/#{group.name}/mentionable.json"
expect(response).to be_successful expect(response.status).to eq(200)
response_body = JSON.parse(response.body) response_body = JSON.parse(response.body)
expect(response_body["mentionable"]).to eq(false) expect(response_body["mentionable"]).to eq(false)
@ -393,7 +393,7 @@ describe GroupsController do
) )
get "/groups/#{group.name}/mentionable.json" get "/groups/#{group.name}/mentionable.json"
expect(response).to be_successful expect(response.status).to eq(200)
response_body = JSON.parse(response.body) response_body = JSON.parse(response.body)
expect(response_body["mentionable"]).to eq(true) expect(response_body["mentionable"]).to eq(true)
@ -405,7 +405,7 @@ describe GroupsController do
sign_in(user) sign_in(user)
get "/groups/#{group.name}/messageable.json" get "/groups/#{group.name}/messageable.json"
expect(response).to be_successful expect(response.status).to eq(200)
response_body = JSON.parse(response.body) response_body = JSON.parse(response.body)
expect(response_body["messageable"]).to eq(false) expect(response_body["messageable"]).to eq(false)
@ -416,7 +416,7 @@ describe GroupsController do
) )
get "/groups/#{group.name}/messageable.json" get "/groups/#{group.name}/messageable.json"
expect(response).to be_successful expect(response.status).to eq(200)
response_body = JSON.parse(response.body) response_body = JSON.parse(response.body)
expect(response_body["messageable"]).to eq(true) expect(response_body["messageable"]).to eq(true)
@ -645,7 +645,7 @@ describe GroupsController do
order: 'last_seen_at', desc: true order: 'last_seen_at', desc: true
} }
expect(response).to be_successful expect(response.status).to eq(200)
members = JSON.parse(response.body)["members"] members = JSON.parse(response.body)["members"]
@ -653,7 +653,7 @@ describe GroupsController do
get "/groups/#{group.name}/members.json", params: { order: 'last_seen_at' } get "/groups/#{group.name}/members.json", params: { order: 'last_seen_at' }
expect(response).to be_successful expect(response.status).to eq(200)
members = JSON.parse(response.body)["members"] members = JSON.parse(response.body)["members"]
@ -663,7 +663,7 @@ describe GroupsController do
order: 'last_posted_at', desc: true order: 'last_posted_at', desc: true
} }
expect(response).to be_successful expect(response.status).to eq(200)
members = JSON.parse(response.body)["members"] members = JSON.parse(response.body)["members"]
@ -673,7 +673,7 @@ describe GroupsController do
it "should not allow members to be sorted by columns that are not allowed" do it "should not allow members to be sorted by columns that are not allowed" do
get "/groups/#{group.name}/members.json", params: { order: 'email' } get "/groups/#{group.name}/members.json", params: { order: 'email' }
expect(response).to be_successful expect(response.status).to eq(200)
members = JSON.parse(response.body)["members"] members = JSON.parse(response.body)["members"]
@ -808,7 +808,7 @@ describe GroupsController do
put "/groups/#{group.id}/members.json", params: { usernames: user2.username } put "/groups/#{group.id}/members.json", params: { usernames: user2.username }
end.to change { group.users.count }.by(1) end.to change { group.users.count }.by(1)
expect(response).to be_successful expect(response.status).to eq(200)
group_history = GroupHistory.last group_history = GroupHistory.last
@ -834,7 +834,7 @@ describe GroupsController do
params: { usernames: [user1.username, user2.username].join(",") } params: { usernames: [user1.username, user2.username].join(",") }
end.to change { group.users.count }.by(2) end.to change { group.users.count }.by(2)
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "adds by id" do it "adds by id" do
@ -843,7 +843,7 @@ describe GroupsController do
params: { user_ids: [user1.id, user2.id].join(",") } params: { user_ids: [user1.id, user2.id].join(",") }
end.to change { group.users.count }.by(2) end.to change { group.users.count }.by(2)
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "adds by email" do it "adds by email" do
@ -852,7 +852,7 @@ describe GroupsController do
params: { user_emails: [user1.email, user2.email].join(",") } params: { user_emails: [user1.email, user2.email].join(",") }
end.to change { group.users.count }.by(2) end.to change { group.users.count }.by(2)
expect(response).to be_successful expect(response.status).to eq(200)
end end
it 'fails when multiple member already exists' do it 'fails when multiple member already exists' do
@ -920,7 +920,7 @@ describe GroupsController do
params: { usernames: other_user.username } params: { usernames: other_user.username }
end.to change { group.users.count }.by(1) end.to change { group.users.count }.by(1)
expect(response).to be_successful expect(response.status).to eq(200)
group_history = GroupHistory.last group_history = GroupHistory.last
@ -938,7 +938,7 @@ describe GroupsController do
params: { usernames: other_user.username } params: { usernames: other_user.username }
end.to change { group.users.count }.by(1) end.to change { group.users.count }.by(1)
expect(response).to be_successful expect(response.status).to eq(200)
end end
it 'should not allow an underprivilege user to add another user to a group' do it 'should not allow an underprivilege user to add another user to a group' do
@ -971,7 +971,7 @@ describe GroupsController do
delete "/groups/#{group.id}/members.json", params: { user_id: user.id } delete "/groups/#{group.id}/members.json", params: { user_id: user.id }
end.to change { group.users.count }.by(-1) end.to change { group.users.count }.by(-1)
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "removes by username" do it "removes by username" do
@ -979,7 +979,7 @@ describe GroupsController do
delete "/groups/#{group.id}/members.json", params: { username: user.username } delete "/groups/#{group.id}/members.json", params: { username: user.username }
end.to change { group.users.count }.by(-1) end.to change { group.users.count }.by(-1)
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "removes user.primary_group_id when user is removed from group" do it "removes user.primary_group_id when user is removed from group" do
@ -996,7 +996,7 @@ describe GroupsController do
params: { user_email: user.email } params: { user_email: user.email }
end.to change { group.users.count }.by(-1) end.to change { group.users.count }.by(-1)
expect(response).to be_successful expect(response.status).to eq(200)
end end
context 'public group' do context 'public group' do
@ -1010,7 +1010,7 @@ describe GroupsController do
params: { username: other_user.username } params: { username: other_user.username }
end.to change { group.users.count }.by(-1) end.to change { group.users.count }.by(-1)
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
@ -1022,7 +1022,7 @@ describe GroupsController do
params: { username: other_user.username } params: { username: other_user.username }
end.to change { group.users.count }.by(-1) end.to change { group.users.count }.by(-1)
expect(response).to be_successful expect(response.status).to eq(200)
end end
it 'should not allow a underprivilege user to leave a group for another user' do it 'should not allow a underprivilege user to leave a group for another user' do
@ -1077,7 +1077,7 @@ describe GroupsController do
it 'should allow group owner to view history' do it 'should allow group owner to view history' do
get "/groups/#{group.name}/logs.json" get "/groups/#{group.name}/logs.json"
expect(response).to be_successful expect(response.status).to eq(200)
result = JSON.parse(response.body)["logs"].last result = JSON.parse(response.body)["logs"].last
@ -1109,7 +1109,7 @@ describe GroupsController do
get "/groups/#{group.name}/logs.json" get "/groups/#{group.name}/logs.json"
expect(response).to be_successful expect(response.status).to eq(200)
result = JSON.parse(response.body)["logs"].first result = JSON.parse(response.body)["logs"].first
@ -1132,7 +1132,7 @@ describe GroupsController do
filters: { "action" => "add_user_to_group" } filters: { "action" => "add_user_to_group" }
} }
expect(response).to be_successful expect(response.status).to eq(200)
logs = JSON.parse(response.body)["logs"] logs = JSON.parse(response.body)["logs"]
@ -1167,7 +1167,7 @@ describe GroupsController do
post "/groups/#{group.name}/request_membership.json", post "/groups/#{group.name}/request_membership.json",
params: { reason: 'Please add me in' } params: { reason: 'Please add me in' }
expect(response).to be_successful expect(response.status).to eq(200)
post = Post.last post = Post.last
topic = post.topic topic = post.topic
@ -1217,7 +1217,7 @@ describe GroupsController do
get '/groups/search.json' get '/groups/search.json'
expect(response).to be_successful expect(response.status).to eq(200)
groups = JSON.parse(response.body) groups = JSON.parse(response.body)
expected_ids = Group::AUTO_GROUPS.map { |name, id| id } expected_ids = Group::AUTO_GROUPS.map { |name, id| id }
@ -1229,7 +1229,7 @@ describe GroupsController do
['GO', 'nerys'].each do |term| ['GO', 'nerys'].each do |term|
get "/groups/search.json?term=#{term}" get "/groups/search.json?term=#{term}"
expect(response).to be_successful expect(response.status).to eq(200)
groups = JSON.parse(response.body) groups = JSON.parse(response.body)
expect(groups.length).to eq(1) expect(groups.length).to eq(1)
@ -1238,7 +1238,7 @@ describe GroupsController do
get "/groups/search.json?term=KingOfTheNorth" get "/groups/search.json?term=KingOfTheNorth"
expect(response).to be_successful expect(response.status).to eq(200)
groups = JSON.parse(response.body) groups = JSON.parse(response.body)
expect(groups).to eq([]) expect(groups).to eq([])
@ -1255,7 +1255,7 @@ describe GroupsController do
get "/groups/search.json?term=north" get "/groups/search.json?term=north"
expect(response).to be_successful expect(response.status).to eq(200)
groups = JSON.parse(response.body) groups = JSON.parse(response.body)
expect(groups.length).to eq(1) expect(groups.length).to eq(1)
@ -1269,7 +1269,7 @@ describe GroupsController do
get '/groups/search.json?ignore_automatic=true' get '/groups/search.json?ignore_automatic=true'
expect(response).to be_successful expect(response.status).to eq(200)
groups = JSON.parse(response.body) groups = JSON.parse(response.body)
expect(groups.length).to eq(2) expect(groups.length).to eq(2)

View File

@ -8,7 +8,7 @@ describe InvitesController do
it "returns error if invite not found" do it "returns error if invite not found" do
get "/invites/nopeNOPEnope" get "/invites/nopeNOPEnope"
expect(response).to be_successful expect(response.status).to eq(200)
body = response.body body = response.body
expect(body).to_not have_tag(:script, with: { src: '/assets/application.js' }) expect(body).to_not have_tag(:script, with: { src: '/assets/application.js' })
@ -18,7 +18,7 @@ describe InvitesController do
it "renders the accept invite page if invite exists" do it "renders the accept invite page if invite exists" do
get "/invites/#{invite.invite_key}" get "/invites/#{invite.invite_key}"
expect(response).to be_successful expect(response.status).to eq(200)
body = response.body body = response.body
expect(body).to have_tag(:script, with: { src: '/assets/application.js' }) expect(body).to have_tag(:script, with: { src: '/assets/application.js' })
@ -29,7 +29,7 @@ describe InvitesController do
invite.update_attributes!(redeemed_at: 1.day.ago) invite.update_attributes!(redeemed_at: 1.day.ago)
get "/invites/#{invite.invite_key}" get "/invites/#{invite.invite_key}"
expect(response).to be_successful expect(response.status).to eq(200)
body = response.body body = response.body
expect(body).to_not have_tag(:script, with: { src: '/assets/application.js' }) expect(body).to_not have_tag(:script, with: { src: '/assets/application.js' })
@ -100,7 +100,7 @@ describe InvitesController do
group = Fabricate(:group) group = Fabricate(:group)
sign_in(Fabricate(:admin)) sign_in(Fabricate(:admin))
post "/invites.json", params: { email: email, group_names: group.name } post "/invites.json", params: { email: email, group_names: group.name }
expect(response).to be_successful expect(response.status).to eq(200)
expect(Invite.find_by(email: email).invited_groups.count).to eq(1) expect(Invite.find_by(email: email).invited_groups.count).to eq(1)
end end
@ -112,7 +112,7 @@ describe InvitesController do
post "/invites.json", params: { email: email, group_names: group.name } post "/invites.json", params: { email: email, group_names: group.name }
expect(response).to be_successful expect(response.status).to eq(200)
expect(Invite.find_by(email: email).invited_groups.count).to eq(1) expect(Invite.find_by(email: email).invited_groups.count).to eq(1)
end end
@ -120,7 +120,7 @@ describe InvitesController do
user = sign_in(Fabricate(:admin)) user = sign_in(Fabricate(:admin))
invite = Invite.invite_by_email("invite@example.com", user) invite = Invite.invite_by_email("invite@example.com", user)
post "/invites.json", params: { email: invite.email } post "/invites.json", params: { email: invite.email }
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "responds with error message in case of validation failure" do it "responds with error message in case of validation failure" do
@ -182,7 +182,7 @@ describe InvitesController do
email: email, group_names: group.name email: email, group_names: group.name
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(Invite.find_by(email: email).invited_groups.count).to eq(1) expect(Invite.find_by(email: email).invited_groups.count).to eq(1)
end end
@ -195,7 +195,7 @@ describe InvitesController do
email: email, group_names: "security,support" email: email, group_names: "security,support"
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(Invite.find_by(email: email).invited_groups.count).to eq(2) expect(Invite.find_by(email: email).invited_groups.count).to eq(2)
end end
end end
@ -205,7 +205,7 @@ describe InvitesController do
context 'with an invalid invite id' do context 'with an invalid invite id' do
it "redirects to the root and doesn't change the session" do it "redirects to the root and doesn't change the session" do
put "/invites/show/doesntexist.json" put "/invites/show/doesntexist.json"
expect(response).to be_successful expect(response.status).to eq(200)
json = JSON.parse(response.body) json = JSON.parse(response.body)
expect(json["success"]).to eq(false) expect(json["success"]).to eq(false)
expect(json["message"]).to eq(I18n.t('invite.not_found')) expect(json["message"]).to eq(I18n.t('invite.not_found'))
@ -223,7 +223,7 @@ describe InvitesController do
it "redirects to the root" do it "redirects to the root" do
put "/invites/show/#{invite.invite_key}.json" put "/invites/show/#{invite.invite_key}.json"
expect(response).to be_successful expect(response.status).to eq(200)
json = JSON.parse(response.body) json = JSON.parse(response.body)
expect(json["success"]).to eq(false) expect(json["success"]).to eq(false)
expect(json["message"]).to eq(I18n.t('invite.not_found')) expect(json["message"]).to eq(I18n.t('invite.not_found'))
@ -254,7 +254,7 @@ describe InvitesController do
:user_logged_in, :user_first_logged_in :user_logged_in, :user_first_logged_in
) )
invite.reload invite.reload
expect(response).to be_successful expect(response.status).to eq(200)
expect(session[:current_user_id]).to eq(invite.user_id) expect(session[:current_user_id]).to eq(invite.user_id)
expect(invite.redeemed?).to be_truthy expect(invite.redeemed?).to be_truthy
end end
@ -271,7 +271,7 @@ describe InvitesController do
context 'failure' do context 'failure' do
it "doesn't log in the user if there's a validation error" do it "doesn't log in the user if there's a validation error" do
put "/invites/show/#{invite.invite_key}.json", params: { password: "password" } put "/invites/show/#{invite.invite_key}.json", params: { password: "password" }
expect(response).to be_successful expect(response.status).to eq(200)
json = JSON.parse(response.body) json = JSON.parse(response.body)
expect(json["success"]).to eq(false) expect(json["success"]).to eq(false)
expect(json["errors"]["password"]).to be_present expect(json["errors"]["password"]).to be_present
@ -286,13 +286,13 @@ describe InvitesController do
it 'sends a welcome message if set' do it 'sends a welcome message if set' do
user.send_welcome_message = true user.send_welcome_message = true
put "/invites/show/#{invite.invite_key}.json" put "/invites/show/#{invite.invite_key}.json"
expect(response).to be_successful expect(response.status).to eq(200)
expect(Jobs::SendSystemMessage.jobs.size).to eq(1) expect(Jobs::SendSystemMessage.jobs.size).to eq(1)
end end
it "sends password reset email if password is not set" do it "sends password reset email if password is not set" do
put "/invites/show/#{invite.invite_key}.json" put "/invites/show/#{invite.invite_key}.json"
expect(response).to be_successful expect(response.status).to eq(200)
expect(Jobs::InvitePasswordInstructionsEmail.jobs.size).to eq(1) expect(Jobs::InvitePasswordInstructionsEmail.jobs.size).to eq(1)
end end
@ -300,20 +300,20 @@ describe InvitesController do
SiteSetting.sso_url = "https://www.example.com/sso" SiteSetting.sso_url = "https://www.example.com/sso"
SiteSetting.enable_sso = true SiteSetting.enable_sso = true
put "/invites/show/#{invite.invite_key}.json" put "/invites/show/#{invite.invite_key}.json"
expect(response).to be_successful expect(response.status).to eq(200)
expect(Jobs::InvitePasswordInstructionsEmail.jobs.size).to eq(0) expect(Jobs::InvitePasswordInstructionsEmail.jobs.size).to eq(0)
end end
it "does not send password reset email if local login is disabled" do it "does not send password reset email if local login is disabled" do
SiteSetting.enable_local_logins = false SiteSetting.enable_local_logins = false
put "/invites/show/#{invite.invite_key}.json" put "/invites/show/#{invite.invite_key}.json"
expect(response).to be_successful expect(response.status).to eq(200)
expect(Jobs::InvitePasswordInstructionsEmail.jobs.size).to eq(0) expect(Jobs::InvitePasswordInstructionsEmail.jobs.size).to eq(0)
end end
it 'sends an activation email if password is set' do it 'sends an activation email if password is set' do
put "/invites/show/#{invite.invite_key}.json", params: { password: "verystrongpassword" } put "/invites/show/#{invite.invite_key}.json", params: { password: "verystrongpassword" }
expect(response).to be_successful expect(response.status).to eq(200)
expect(Jobs::InvitePasswordInstructionsEmail.jobs.size).to eq(0) expect(Jobs::InvitePasswordInstructionsEmail.jobs.size).to eq(0)
expect(Jobs::CriticalUserEmail.jobs.size).to eq(1) expect(Jobs::CriticalUserEmail.jobs.size).to eq(1)
end end
@ -381,7 +381,7 @@ describe InvitesController do
it "resends the invite" do it "resends the invite" do
SiteSetting.queue_jobs = true SiteSetting.queue_jobs = true
post "/invites/reinvite.json", params: { email: invite.email } post "/invites/reinvite.json", params: { email: invite.email }
expect(response).to be_successful expect(response.status).to eq(200)
expect(Jobs::InviteEmail.jobs.size).to eq(1) expect(Jobs::InviteEmail.jobs.size).to eq(1)
end end
end end
@ -412,7 +412,7 @@ describe InvitesController do
SiteSetting.queue_jobs = true SiteSetting.queue_jobs = true
sign_in(Fabricate(:admin)) sign_in(Fabricate(:admin))
post "/invites/upload_csv.json", params: { file: file, name: filename } post "/invites/upload_csv.json", params: { file: file, name: filename }
expect(response).to be_successful expect(response.status).to eq(200)
expect(Jobs::BulkInvite.jobs.size).to eq(1) expect(Jobs::BulkInvite.jobs.size).to eq(1)
end end
end end

View File

@ -13,19 +13,19 @@ RSpec.describe ListController do
describe '#index' do describe '#index' do
it "doesn't throw an error with a negative page" do it "doesn't throw an error with a negative page" do
get "/#{Discourse.anonymous_filters[1]}", params: { page: -1024 } get "/#{Discourse.anonymous_filters[1]}", params: { page: -1024 }
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "doesn't throw an error with page params as an array" do it "doesn't throw an error with page params as an array" do
get "/#{Discourse.anonymous_filters[1]}", params: { page: ['7'] } get "/#{Discourse.anonymous_filters[1]}", params: { page: ['7'] }
expect(response).to be_successful expect(response.status).to eq(200)
end end
(Discourse.anonymous_filters - [:categories]).each do |filter| (Discourse.anonymous_filters - [:categories]).each do |filter|
context "#{filter}" do context "#{filter}" do
it "succeeds" do it "succeeds" do
get "/#{filter}" get "/#{filter}"
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
end end
@ -34,7 +34,7 @@ RSpec.describe ListController do
p = create_post p = create_post
get "/latest.json", params: { topic_ids: "#{p.topic_id}" } get "/latest.json", params: { topic_ids: "#{p.topic_id}" }
expect(response).to be_successful expect(response.status).to eq(200)
parsed = JSON.parse(response.body) parsed = JSON.parse(response.body)
expect(parsed["topic_list"]["topics"].length).to eq(1) expect(parsed["topic_list"]["topics"].length).to eq(1)
end end
@ -238,20 +238,20 @@ RSpec.describe ListController do
describe 'RSS feeds' do describe 'RSS feeds' do
it 'renders latest RSS' do it 'renders latest RSS' do
get "/latest.rss" get "/latest.rss"
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.content_type).to eq('application/rss+xml') expect(response.content_type).to eq('application/rss+xml')
end end
it 'renders top RSS' do it 'renders top RSS' do
get "/top.rss" get "/top.rss"
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.content_type).to eq('application/rss+xml') expect(response.content_type).to eq('application/rss+xml')
end end
TopTopic.periods.each do |period| TopTopic.periods.each do |period|
it "renders #{period} top RSS" do it "renders #{period} top RSS" do
get "/top/#{period}.rss" get "/top/#{period}.rss"
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.content_type).to eq('application/rss+xml') expect(response.content_type).to eq('application/rss+xml')
end end
end end
@ -312,7 +312,7 @@ RSpec.describe ListController do
it 'uses the correct category' do it 'uses the correct category' do
get "/c/#{other_category.slug}/l/latest.json" get "/c/#{other_category.slug}/l/latest.json"
expect(response).to be_successful expect(response.status).to eq(200)
body = JSON.parse(response.body) body = JSON.parse(response.body)
expect(body["topic_list"]["topics"].first["category_id"]) expect(body["topic_list"]["topics"].first["category_id"])
.to eq(other_category.id) .to eq(other_category.id)
@ -340,7 +340,7 @@ RSpec.describe ListController do
describe 'feed' do describe 'feed' do
it 'renders RSS' do it 'renders RSS' do
get "/c/#{category.slug}.rss" get "/c/#{category.slug}.rss"
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.content_type).to eq('application/rss+xml') expect(response.content_type).to eq('application/rss+xml')
end end
end end
@ -349,7 +349,7 @@ RSpec.describe ListController do
it "has a top default view" do it "has a top default view" do
category.update_attributes!(default_view: 'top', default_top_period: 'monthly') category.update_attributes!(default_view: 'top', default_top_period: 'monthly')
get "/c/#{category.slug}.json" get "/c/#{category.slug}.json"
expect(response).to be_successful expect(response.status).to eq(200)
json = JSON.parse(response.body) json = JSON.parse(response.body)
expect(json["topic_list"]["for_period"]).to eq("monthly") expect(json["topic_list"]["for_period"]).to eq("monthly")
end end
@ -357,7 +357,7 @@ RSpec.describe ListController do
it "has a default view of nil" do it "has a default view of nil" do
category.update_attributes!(default_view: nil) category.update_attributes!(default_view: nil)
get "/c/#{category.slug}.json" get "/c/#{category.slug}.json"
expect(response).to be_successful expect(response.status).to eq(200)
json = JSON.parse(response.body) json = JSON.parse(response.body)
expect(json["topic_list"]["for_period"]).to be_blank expect(json["topic_list"]["for_period"]).to be_blank
end end
@ -365,7 +365,7 @@ RSpec.describe ListController do
it "has a default view of ''" do it "has a default view of ''" do
category.update_attributes!(default_view: '') category.update_attributes!(default_view: '')
get "/c/#{category.slug}.json" get "/c/#{category.slug}.json"
expect(response).to be_successful expect(response.status).to eq(200)
json = JSON.parse(response.body) json = JSON.parse(response.body)
expect(json["topic_list"]["for_period"]).to be_blank expect(json["topic_list"]["for_period"]).to be_blank
end end
@ -373,7 +373,7 @@ RSpec.describe ListController do
it "has a default view of latest" do it "has a default view of latest" do
category.update_attributes!(default_view: 'latest') category.update_attributes!(default_view: 'latest')
get "/c/#{category.slug}.json" get "/c/#{category.slug}.json"
expect(response).to be_successful expect(response.status).to eq(200)
json = JSON.parse(response.body) json = JSON.parse(response.body)
expect(json["topic_list"]["for_period"]).to be_blank expect(json["topic_list"]["for_period"]).to be_blank
end end
@ -382,13 +382,13 @@ RSpec.describe ListController do
describe "renders canonical tag" do describe "renders canonical tag" do
it 'for category default view' do it 'for category default view' do
get "/c/#{category.slug}" get "/c/#{category.slug}"
expect(response).to be_successful expect(response.status).to eq(200)
expect(css_select("link[rel=canonical]").length).to eq(1) expect(css_select("link[rel=canonical]").length).to eq(1)
end end
it 'for category latest view' do it 'for category latest view' do
get "/c/#{category.slug}/l/latest" get "/c/#{category.slug}/l/latest"
expect(response).to be_successful expect(response.status).to eq(200)
expect(css_select("link[rel=canonical]").length).to eq(1) expect(css_select("link[rel=canonical]").length).to eq(1)
end end
end end
@ -403,7 +403,7 @@ RSpec.describe ListController do
it "should respond with a list" do it "should respond with a list" do
get "/topics/created-by/#{user.username}.json" get "/topics/created-by/#{user.username}.json"
expect(response).to be_successful expect(response.status).to eq(200)
json = JSON.parse(response.body) json = JSON.parse(response.body)
expect(json["topic_list"]["topics"].size).to eq(1) expect(json["topic_list"]["topics"].size).to eq(1)
end end
@ -421,7 +421,7 @@ RSpec.describe ListController do
pm.topic_allowed_users.create!(user: user) pm.topic_allowed_users.create!(user: user)
sign_in(user) sign_in(user)
get "/topics/private-messages/#{user.username}.json" get "/topics/private-messages/#{user.username}.json"
expect(response).to be_successful expect(response.status).to eq(200)
json = JSON.parse(response.body) json = JSON.parse(response.body)
expect(json["topic_list"]["topics"].size).to eq(1) expect(json["topic_list"]["topics"].size).to eq(1)
end end
@ -442,7 +442,7 @@ RSpec.describe ListController do
it "succeeds when the user can see private messages" do it "succeeds when the user can see private messages" do
sign_in(user) sign_in(user)
get "/topics/private-messages-sent/#{user.username}.json" get "/topics/private-messages-sent/#{user.username}.json"
expect(response).to be_successful expect(response.status).to eq(200)
json = JSON.parse(response.body) json = JSON.parse(response.body)
expect(json["topic_list"]["topics"].size).to eq(1) expect(json["topic_list"]["topics"].size).to eq(1)
end end
@ -465,7 +465,7 @@ RSpec.describe ListController do
it "succeeds when the user can see private messages" do it "succeeds when the user can see private messages" do
sign_in(user) sign_in(user)
get "/topics/private-messages-unread/#{user.username}.json" get "/topics/private-messages-unread/#{user.username}.json"
expect(response).to be_successful expect(response.status).to eq(200)
json = JSON.parse(response.body) json = JSON.parse(response.body)
expect(json["topic_list"]["topics"].size).to eq(1) expect(json["topic_list"]["topics"].size).to eq(1)
end end
@ -481,7 +481,7 @@ RSpec.describe ListController do
it "succeeds" do it "succeeds" do
sign_in(user) sign_in(user)
get "/read" get "/read"
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
end end
@ -546,7 +546,7 @@ RSpec.describe ListController do
it "suppresses categories from the latest list" do it "suppresses categories from the latest list" do
get "/#{SiteSetting.homepage}.json" get "/#{SiteSetting.homepage}.json"
expect(response).to be_successful expect(response.status).to eq(200)
topic_titles = JSON.parse(response.body)["topic_list"]["topics"].map { |t| t["title"] } topic_titles = JSON.parse(response.body)["topic_list"]["topics"].map { |t| t["title"] }
expect(topic_titles).not_to include(topic_in_sub_category.title, topic_in_category_two.title) expect(topic_titles).not_to include(topic_in_sub_category.title, topic_in_category_two.title)
@ -554,7 +554,7 @@ RSpec.describe ListController do
it "does not suppress" do it "does not suppress" do
get "/#{SiteSetting.homepage}.json", params: { category: category_one.id } get "/#{SiteSetting.homepage}.json", params: { category: category_one.id }
expect(response).to be_successful expect(response.status).to eq(200)
topic_titles = JSON.parse(response.body)["topic_list"]["topics"].map { |t| t["title"] } topic_titles = JSON.parse(response.body)["topic_list"]["topics"].map { |t| t["title"] }
expect(topic_titles).to include(topic_in_sub_category.title) expect(topic_titles).to include(topic_in_sub_category.title)

View File

@ -36,12 +36,12 @@ describe NotificationsController do
describe '#index' do describe '#index' do
it 'should succeed for recent' do it 'should succeed for recent' do
get "/notifications", params: { recent: true } get "/notifications", params: { recent: true }
expect(response).to be_successful expect(response.status).to eq(200)
end end
it 'should succeed for history' do it 'should succeed for history' do
get "/notifications" get "/notifications"
expect(response).to be_successful expect(response.status).to eq(200)
end end
it 'should mark notifications as viewed' do it 'should mark notifications as viewed' do
@ -72,14 +72,14 @@ describe NotificationsController do
it 'should succeed' do it 'should succeed' do
put "/notifications/mark-read.json" put "/notifications/mark-read.json"
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "can update a single notification" do it "can update a single notification" do
notification = Fabricate(:notification, user: user) notification = Fabricate(:notification, user: user)
notification2 = Fabricate(:notification, user: user) notification2 = Fabricate(:notification, user: user)
put "/notifications/mark-read.json", params: { id: notification.id } put "/notifications/mark-read.json", params: { id: notification.id }
expect(response).to be_successful expect(response.status).to eq(200)
notification.reload notification.reload
notification2.reload notification2.reload

View File

@ -80,7 +80,7 @@ RSpec.describe Users::OmniauthCallbacksController do
expect(events.map { |event| event[:event_name] }).to include(:user_logged_in, :user_first_logged_in) expect(events.map { |event| event[:event_name] }).to include(:user_logged_in, :user_first_logged_in)
expect(response).to be_successful expect(response.status).to eq(200)
response_body = JSON.parse(response.body) response_body = JSON.parse(response.body)
@ -106,7 +106,7 @@ RSpec.describe Users::OmniauthCallbacksController do
expect(events.map { |event| event[:event_name] }).to include(:user_logged_in, :user_first_logged_in) expect(events.map { |event| event[:event_name] }).to include(:user_logged_in, :user_first_logged_in)
expect(response).to be_successful expect(response.status).to eq(200)
user.reload user.reload
expect(user.email_confirmed?).to eq(true) expect(user.email_confirmed?).to eq(true)
@ -125,7 +125,7 @@ RSpec.describe Users::OmniauthCallbacksController do
expect(events.map { |event| event[:event_name] }).to include(:user_logged_in, :user_first_logged_in) expect(events.map { |event| event[:event_name] }).to include(:user_logged_in, :user_first_logged_in)
expect(response).to be_successful expect(response.status).to eq(200)
user.reload user.reload
expect(user.staged).to eq(false) expect(user.staged).to eq(false)
@ -185,7 +185,7 @@ RSpec.describe Users::OmniauthCallbacksController do
it 'should return the right response' do it 'should return the right response' do
get "/auth/google_oauth2/callback.json" get "/auth/google_oauth2/callback.json"
expect(response).to be_successful expect(response.status).to eq(200)
response_body = JSON.parse(response.body) response_body = JSON.parse(response.body)

View File

@ -56,13 +56,13 @@ describe OneboxController do
bypass_limiting bypass_limiting
Rails.cache.delete("onebox__#{url}") Rails.cache.delete("onebox__#{url}")
get "/onebox.json", params: { url: url } get "/onebox.json", params: { url: url }
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.body).to include("Onebox1") expect(response.body).to include("Onebox1")
bypass_limiting bypass_limiting
stub_request(:get, url).to_return(status: 200, body: html2).then.to_raise stub_request(:get, url).to_return(status: 200, body: html2).then.to_raise
get "/onebox.json", params: { url: url, refresh: 'true' } get "/onebox.json", params: { url: url, refresh: 'true' }
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.body).to include("Onebox2") expect(response.body).to include("Onebox2")
end end
@ -75,12 +75,12 @@ describe OneboxController do
get "/onebox.json", params: { url: url, refresh: "true" } get "/onebox.json", params: { url: url, refresh: "true" }
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.body).to include('Onebox1') expect(response.body).to include('Onebox1')
expect(response.body).to include('bodycontent') expect(response.body).to include('bodycontent')
get "/onebox.json", params: { url: url } get "/onebox.json", params: { url: url }
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.body).to include('Onebox1') expect(response.body).to include('Onebox1')
expect(response.body).to include('bodycontent') expect(response.body).to include('bodycontent')
end end
@ -104,7 +104,7 @@ describe OneboxController do
stub_request(:get, url).to_return(body: html).then.to_raise stub_request(:get, url).to_return(body: html).then.to_raise
get "/onebox.json", params: { url: url, refresh: "true" } get "/onebox.json", params: { url: url, refresh: "true" }
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.body).to include("Onebox1") expect(response.body).to include("Onebox1")
end end
end end

View File

@ -53,7 +53,7 @@ describe PostActionUsersController do
id: post.id, post_action_type_id: PostActionType.types[:like] id: post.id, post_action_type_id: PostActionType.types[:like]
} }
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "paginates post actions" do it "paginates post actions" do

View File

@ -37,7 +37,7 @@ RSpec.describe PostActionsController do
it 'returns success' do it 'returns success' do
delete "/post_actions/#{post.id}.json", params: { post_action_type_id: PostActionType.types[:bookmark] } delete "/post_actions/#{post.id}.json", params: { post_action_type_id: PostActionType.types[:bookmark] }
expect(response).to be_success expect(response.status).to eq(200)
end end
it 'deletes the action' do it 'deletes the action' do
@ -45,7 +45,7 @@ RSpec.describe PostActionsController do
post_action_type_id: PostActionType.types[:bookmark] post_action_type_id: PostActionType.types[:bookmark]
} }
expect(response).to be_success expect(response.status).to eq(200)
expect(PostAction.exists?( expect(PostAction.exists?(
user_id: user.id, user_id: user.id,
post_id: post.id, post_id: post.id,
@ -137,7 +137,7 @@ RSpec.describe PostActionsController do
post_action = PostAction.last post_action = PostAction.last
expect(response).to be_success expect(response.status).to eq(200)
expect(post_action.post_id).to eq(post_1.id) expect(post_action.post_id).to eq(post_1.id)
expect(post_action.post_action_type_id).to eq(PostActionType.types[:like]) expect(post_action.post_action_type_id).to eq(PostActionType.types[:like])
end end
@ -165,7 +165,7 @@ RSpec.describe PostActionsController do
message: message message: message
} }
expect(response).to be_success expect(response.status).to eq(200)
expect(PostAction.last.post_id).to eq(post_1.id) expect(PostAction.last.post_id).to eq(post_1.id)
expect(Post.last.raw).to include(message) expect(Post.last.raw).to include(message)
end end
@ -180,7 +180,7 @@ RSpec.describe PostActionsController do
is_warning: true is_warning: true
} }
expect(response).to be_success expect(response.status).to eq(200)
expect(PostAction.last.post_id).to eq(post_1.id) expect(PostAction.last.post_id).to eq(post_1.id)
post = Post.last post = Post.last
@ -209,7 +209,7 @@ RSpec.describe PostActionsController do
take_action: 'true' take_action: 'true'
} }
expect(response).to be_successful expect(response.status).to eq(200)
post_action = PostAction.last post_action = PostAction.last
@ -225,7 +225,7 @@ RSpec.describe PostActionsController do
post_action_type_id: PostActionType.types[:like] post_action_type_id: PostActionType.types[:like]
} }
expect(response).to be_successful expect(response.status).to eq(200)
post_action = PostAction.last post_action = PostAction.last
@ -282,7 +282,7 @@ RSpec.describe PostActionsController do
id: flagged_post.id, post_action_type_id: PostActionType.types[:spam] id: flagged_post.id, post_action_type_id: PostActionType.types[:spam]
} }
expect(response).to be_success expect(response.status).to eq(200)
flag.reload flag.reload
expect(flag.deferred_at).to be_present expect(flag.deferred_at).to be_present
end end
@ -294,7 +294,7 @@ RSpec.describe PostActionsController do
id: flagged_post.id, post_action_type_id: PostActionType.types[:spam] id: flagged_post.id, post_action_type_id: PostActionType.types[:spam]
} }
expect(response).to be_success expect(response.status).to eq(200)
flag.reload flag.reload
expect(flag.deferred_at).to be_present expect(flag.deferred_at).to be_present
end end

View File

@ -14,7 +14,7 @@ shared_examples 'finding and showing post' do
it 'succeeds' do it 'succeeds' do
get url get url
expect(response).to be_successful expect(response.status).to eq(200)
end end
context "deleted post" do context "deleted post" do
@ -36,13 +36,13 @@ shared_examples 'finding and showing post' do
it "can find posts as a moderator" do it "can find posts as a moderator" do
sign_in(Fabricate(:moderator)) sign_in(Fabricate(:moderator))
get url get url
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "can find posts as a admin" do it "can find posts as a admin" do
sign_in(Fabricate(:admin)) sign_in(Fabricate(:admin))
get url get url
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
end end
@ -277,7 +277,7 @@ describe PostsController do
it 'passes the edit reason through' do it 'passes the edit reason through' do
put "/posts/#{post.id}.json", params: update_params put "/posts/#{post.id}.json", params: update_params
expect(response).to be_successful expect(response.status).to eq(200)
post.reload post.reload
expect(post.edit_reason).to eq("typo") expect(post.edit_reason).to eq("typo")
expect(post.raw).to eq("edited body") expect(post.raw).to eq("edited body")
@ -307,7 +307,7 @@ describe PostsController do
put "/posts/#{post.id}.json", params: param put "/posts/#{post.id}.json", params: param
expect(response).to be_successful expect(response.status).to eq(200)
expect(TopicLink.count).to eq(1) expect(TopicLink.count).to eq(1)
end end
@ -330,7 +330,7 @@ describe PostsController do
PostDestroyer.new(moderator, first_post).destroy PostDestroyer.new(moderator, first_post).destroy
put "/posts/#{first_post.id}.json", params: update_params put "/posts/#{first_post.id}.json", params: update_params
expect(response).to be_successful expect(response.status).to eq(200)
post.reload post.reload
expect(post.raw).to eq('edited body') expect(post.raw).to eq('edited body')
@ -373,7 +373,7 @@ describe PostsController do
it 'creates a bookmark' do it 'creates a bookmark' do
put "/posts/#{post.id}/bookmark.json", params: { bookmarked: "true" } put "/posts/#{post.id}/bookmark.json", params: { bookmarked: "true" }
expect(response).to be_successful expect(response.status).to eq(200)
post_action = PostAction.find_by(user: user, post: post) post_action = PostAction.find_by(user: user, post: post)
expect(post_action.post_action_type_id).to eq(PostActionType.types[:bookmark]) expect(post_action.post_action_type_id).to eq(PostActionType.types[:bookmark])
@ -435,7 +435,7 @@ describe PostsController do
api_key: api_key.key api_key: api_key.key
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(PostAction.where( expect(PostAction.where(
post: post, post: post,
user: user, user: user,
@ -460,7 +460,7 @@ describe PostsController do
api_username: user.username api_username: user.username
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(PostAction.where( expect(PostAction.where(
post: post, post: post,
user: user, user: user,
@ -587,7 +587,7 @@ describe PostsController do
it "can rebake the post" do it "can rebake the post" do
sign_in(Fabricate(:moderator)) sign_in(Fabricate(:moderator))
put "/posts/#{post.id}/rebake.json" put "/posts/#{post.id}/rebake.json"
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
end end
@ -617,7 +617,7 @@ describe PostsController do
wpid: 1 wpid: 1
} }
expect(response).to be_successful expect(response.status).to eq(200)
original = response.body original = response.body
post "/posts.json", params: { post "/posts.json", params: {
@ -628,7 +628,7 @@ describe PostsController do
wpid: 2 wpid: 2
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.body).to eq(original) expect(response.body).to eq(original)
end end
@ -647,7 +647,7 @@ describe PostsController do
reply_to_post_number: 1 reply_to_post_number: 1
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(post_1.topic.user.notifications.count).to eq(1) expect(post_1.topic.user.notifications.count).to eq(1)
post_1.topic.user.notifications.destroy_all post_1.topic.user.notifications.destroy_all
@ -660,7 +660,7 @@ describe PostsController do
import_mode: true import_mode: true
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(post_1.topic.user.notifications.count).to eq(0) expect(post_1.topic.user.notifications.count).to eq(0)
post "/posts.json", params: { post "/posts.json", params: {
@ -672,7 +672,7 @@ describe PostsController do
import_mode: false import_mode: false
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(post_1.topic.user.notifications.count).to eq(1) expect(post_1.topic.user.notifications.count).to eq(1)
end end
end end
@ -694,7 +694,7 @@ describe PostsController do
title: 'this is the test title for the topic' title: 'this is the test title for the topic'
} }
expect(response).to be_successful expect(response.status).to eq(200)
parsed = ::JSON.parse(response.body) parsed = ::JSON.parse(response.body)
expect(parsed["action"]).to eq("enqueued") expect(parsed["action"]).to eq("enqueued")
@ -747,7 +747,7 @@ describe PostsController do
title: 'when I eat s3 sometimes when not looking' title: 'when I eat s3 sometimes when not looking'
} }
expect(response).to be_successful expect(response.status).to eq(200)
parsed = ::JSON.parse(response.body) parsed = ::JSON.parse(response.body)
expect(parsed["action"]).to eq("enqueued") expect(parsed["action"]).to eq("enqueued")
@ -780,7 +780,7 @@ describe PostsController do
archetype: Archetype.private_message archetype: Archetype.private_message
} }
expect(response).to be_successful expect(response.status).to eq(200)
parsed = ::JSON.parse(response.body) parsed = ::JSON.parse(response.body)
post = Post.find(parsed['id']) post = Post.find(parsed['id'])
@ -796,7 +796,7 @@ describe PostsController do
nested_post: true nested_post: true
} }
expect(response).to be_successful expect(response.status).to eq(200)
parsed = ::JSON.parse(response.body) parsed = ::JSON.parse(response.body)
expect(parsed['post']).to be_present expect(parsed['post']).to be_present
expect(parsed['post']['cooked']).to be_present expect(parsed['post']['cooked']).to be_present
@ -807,7 +807,7 @@ describe PostsController do
title = "this is a title #{SecureRandom.hash}" title = "this is a title #{SecureRandom.hash}"
post "/posts.json", params: { raw: raw, title: title, wpid: 1 } post "/posts.json", params: { raw: raw, title: title, wpid: 1 }
expect(response).to be_successful expect(response.status).to eq(200)
post "/posts.json", params: { raw: raw, title: title, wpid: 2 } post "/posts.json", params: { raw: raw, title: title, wpid: 2 }
expect(response).not_to be_successful expect(response).not_to be_successful
@ -835,7 +835,7 @@ describe PostsController do
meta_data: { xyz: 'abc' } meta_data: { xyz: 'abc' }
} }
expect(response).to be_successful expect(response.status).to eq(200)
new_post = Post.last new_post = Post.last
topic = new_post.topic topic = new_post.topic
@ -858,7 +858,7 @@ describe PostsController do
image_sizes: { width: '100', height: '200' } image_sizes: { width: '100', height: '200' }
} }
expect(response).to be_successful expect(response.status).to eq(200)
new_post = Post.last new_post = Post.last
topic = new_post.topic topic = new_post.topic
@ -883,7 +883,7 @@ describe PostsController do
target_usernames: "#{user_2.username},#{user_3.username}" target_usernames: "#{user_2.username},#{user_3.username}"
} }
expect(response).to be_successful expect(response.status).to eq(200)
new_post = Post.last new_post = Post.last
new_topic = Topic.last new_topic = Topic.last
@ -956,7 +956,7 @@ describe PostsController do
category: destination_category.id, category: destination_category.id,
shared_draft: 'true' shared_draft: 'true'
} }
expect(response).to be_successful expect(response.status).to eq(200)
result = JSON.parse(response.body) result = JSON.parse(response.body)
topic = Topic.find(result['topic_id']) topic = Topic.find(result['topic_id'])
expect(topic.category_id).to eq(shared_category.id) expect(topic.category_id).to eq(shared_category.id)
@ -983,7 +983,7 @@ describe PostsController do
is_warning: true is_warning: true
} }
expect(response).to be_successful expect(response.status).to eq(200)
new_topic = Topic.last new_topic = Topic.last
@ -1000,7 +1000,7 @@ describe PostsController do
is_warning: false is_warning: false
} }
expect(response).to be_successful expect(response.status).to eq(200)
new_topic = Topic.last new_topic = Topic.last
@ -1020,7 +1020,7 @@ describe PostsController do
is_warning: true is_warning: true
} }
expect(response).to be_successful expect(response.status).to eq(200)
new_topic = Topic.last new_topic = Topic.last
@ -1058,7 +1058,7 @@ describe PostsController do
it "ensures staff can see the revisions" do it "ensures staff can see the revisions" do
sign_in(Fabricate(:admin)) sign_in(Fabricate(:admin))
get "/posts/#{post.id}/revisions/#{post_revision.number}.json" get "/posts/#{post.id}/revisions/#{post_revision.number}.json"
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "ensures poster can see the revisions" do it "ensures poster can see the revisions" do
@ -1069,13 +1069,13 @@ describe PostsController do
pr = Fabricate(:post_revision, user: user, post: post) pr = Fabricate(:post_revision, user: user, post: post)
get "/posts/#{pr.post_id}/revisions/#{pr.number}.json" get "/posts/#{pr.post_id}/revisions/#{pr.number}.json"
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "ensures trust level 4 can see the revisions" do it "ensures trust level 4 can see the revisions" do
sign_in(Fabricate(:user, trust_level: 4)) sign_in(Fabricate(:user, trust_level: 4))
get "/posts/#{post_revision.post_id}/revisions/#{post_revision.number}.json" get "/posts/#{post_revision.post_id}/revisions/#{post_revision.number}.json"
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
@ -1085,7 +1085,7 @@ describe PostsController do
it "ensures anyone can see the revisions" do it "ensures anyone can see the revisions" do
get "/posts/#{post_revision.post_id}/revisions/#{post_revision.number}.json" get "/posts/#{post_revision.post_id}/revisions/#{post_revision.number}.json"
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
@ -1099,7 +1099,7 @@ describe PostsController do
it "also work on deleted post" do it "also work on deleted post" do
sign_in(admin) sign_in(admin)
get "/posts/#{deleted_post_revision.post_id}/revisions/#{deleted_post_revision.number}.json" get "/posts/#{deleted_post_revision.post_id}/revisions/#{deleted_post_revision.number}.json"
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
@ -1114,7 +1114,7 @@ describe PostsController do
it "also work on deleted topic" do it "also work on deleted topic" do
sign_in(admin) sign_in(admin)
get "/posts/#{post_revision.post_id}/revisions/#{post_revision.number}.json" get "/posts/#{post_revision.post_id}/revisions/#{post_revision.number}.json"
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
end end
@ -1173,7 +1173,7 @@ describe PostsController do
it "works!" do it "works!" do
put "/posts/#{post_id}/revisions/#{revision_id}/revert.json" put "/posts/#{post_id}/revisions/#{revision_id}/revert.json"
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "supports reverting posts in deleted topics" do it "supports reverting posts in deleted topics" do
@ -1181,7 +1181,7 @@ describe PostsController do
PostDestroyer.new(moderator, first_post).destroy PostDestroyer.new(moderator, first_post).destroy
put "/posts/#{post_id}/revisions/#{revision_id}/revert.json" put "/posts/#{post_id}/revisions/#{revision_id}/revert.json"
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
end end
@ -1202,7 +1202,7 @@ describe PostsController do
it "retrieves the body when you can see the post" do it "retrieves the body when you can see the post" do
TopicEmbed.expects(:expanded_for).with(post).returns("full content") TopicEmbed.expects(:expanded_for).with(post).returns("full content")
get "/posts/#{post.id}/expand-embed.json" get "/posts/#{post.id}/expand-embed.json"
expect(response).to be_successful expect(response.status).to eq(200)
expect(::JSON.parse(response.body)['cooked']).to eq("full content") expect(::JSON.parse(response.body)['cooked']).to eq("full content")
end end
end end
@ -1220,7 +1220,7 @@ describe PostsController do
it "can see the flagged posts when authorized" do it "can see the flagged posts when authorized" do
sign_in(Fabricate(:moderator)) sign_in(Fabricate(:moderator))
get "/posts/system/flagged.json" get "/posts/system/flagged.json"
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "only shows agreed and deferred flags" do it "only shows agreed and deferred flags" do
@ -1241,7 +1241,7 @@ describe PostsController do
sign_in(Fabricate(:moderator)) sign_in(Fabricate(:moderator))
get "/posts/#{user.username}/flagged.json" get "/posts/#{user.username}/flagged.json"
expect(response).to be_successful expect(response.status).to eq(200)
expect(JSON.parse(response.body).length).to eq(2) expect(JSON.parse(response.body).length).to eq(2)
end end
@ -1261,7 +1261,7 @@ describe PostsController do
it "can see the deleted posts when authorized" do it "can see the deleted posts when authorized" do
sign_in(Fabricate(:moderator)) sign_in(Fabricate(:moderator))
get "/posts/system/deleted.json" get "/posts/system/deleted.json"
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "doesn't return secured categories for moderators if they don't have access" do it "doesn't return secured categories for moderators if they don't have access" do
@ -1278,7 +1278,7 @@ describe PostsController do
sign_in(Fabricate(:moderator)) sign_in(Fabricate(:moderator))
get "/posts/#{user.username}/deleted.json" get "/posts/#{user.username}/deleted.json"
expect(response).to be_successful expect(response.status).to eq(200)
data = JSON.parse(response.body) data = JSON.parse(response.body)
expect(data.length).to eq(0) expect(data.length).to eq(0)
@ -1294,7 +1294,7 @@ describe PostsController do
sign_in(Fabricate(:moderator)) sign_in(Fabricate(:moderator))
get "/posts/#{user.username}/deleted.json" get "/posts/#{user.username}/deleted.json"
expect(response).to be_successful expect(response.status).to eq(200)
data = JSON.parse(response.body) data = JSON.parse(response.body)
expect(data.length).to eq(0) expect(data.length).to eq(0)
@ -1313,7 +1313,7 @@ describe PostsController do
sign_in(Fabricate(:admin)) sign_in(Fabricate(:admin))
get "/posts/#{user.username}/deleted.json" get "/posts/#{user.username}/deleted.json"
expect(response).to be_successful expect(response.status).to eq(200)
data = JSON.parse(response.body) data = JSON.parse(response.body)
expect(data.length).to eq(1) expect(data.length).to eq(1)
@ -1327,7 +1327,7 @@ describe PostsController do
it "can be viewed by anonymous" do it "can be viewed by anonymous" do
post = Fabricate(:post, raw: "123456789") post = Fabricate(:post, raw: "123456789")
get "/posts/#{post.id}/raw.json" get "/posts/#{post.id}/raw.json"
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.body).to eq("123456789") expect(response.body).to eq("123456789")
end end
end end
@ -1338,7 +1338,7 @@ describe PostsController do
post = Fabricate(:post, topic: topic, post_number: 1, raw: "123456789") post = Fabricate(:post, topic: topic, post_number: 1, raw: "123456789")
post.save post.save
get "/raw/#{topic.id}/1.json" get "/raw/#{topic.id}/1.json"
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.body).to eq("123456789") expect(response.body).to eq("123456789")
end end
end end
@ -1366,7 +1366,7 @@ describe PostsController do
get "/u/#{user.username}/activity.rss" get "/u/#{user.username}/activity.rss"
expect(response).to be_successful expect(response.status).to eq(200)
body = response.body body = response.body
@ -1384,7 +1384,7 @@ describe PostsController do
private_post private_post
get "/private-posts.rss" get "/private-posts.rss"
expect(response).to be_successful expect(response.status).to eq(200)
body = response.body body = response.body
@ -1398,7 +1398,7 @@ describe PostsController do
public_post public_post
private_post private_post
get "/private-posts.json" get "/private-posts.json"
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
post_ids = json['private_posts'].map { |p| p['id'] } post_ids = json['private_posts'].map { |p| p['id'] }
@ -1415,7 +1415,7 @@ describe PostsController do
get "/posts.rss" get "/posts.rss"
expect(response).to be_successful expect(response.status).to eq(200)
body = response.body body = response.body
@ -1431,7 +1431,7 @@ describe PostsController do
topicless_post topicless_post
get "/posts.json" get "/posts.json"
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
post_ids = json['latest_posts'].map { |p| p['id'] } post_ids = json['latest_posts'].map { |p| p['id'] }
@ -1448,7 +1448,7 @@ describe PostsController do
post = Fabricate(:post, cooked: "WAt") post = Fabricate(:post, cooked: "WAt")
get "/posts/#{post.id}/cooked.json" get "/posts/#{post.id}/cooked.json"
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json).to be_present expect(json).to be_present
@ -1473,7 +1473,7 @@ describe PostsController do
sign_in(Fabricate(:moderator)) sign_in(Fabricate(:moderator))
get "/posts/#{post.id}/raw-email.json" get "/posts/#{post.id}/raw-email.json"
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json['raw_email']).to eq('email_content') expect(json['raw_email']).to eq('email_content')
@ -1488,12 +1488,12 @@ describe PostsController do
it 'can lock and unlock the post' do it 'can lock and unlock the post' do
put "/posts/#{public_post.id}/locked.json", params: { locked: "true" } put "/posts/#{public_post.id}/locked.json", params: { locked: "true" }
expect(response).to be_successful expect(response.status).to eq(200)
public_post.reload public_post.reload
expect(public_post).to be_locked expect(public_post).to be_locked
put "/posts/#{public_post.id}/locked.json", params: { locked: "false" } put "/posts/#{public_post.id}/locked.json", params: { locked: "false" }
expect(response).to be_successful expect(response.status).to eq(200)
public_post.reload public_post.reload
expect(public_post).not_to be_locked expect(public_post).not_to be_locked
end end

View File

@ -24,7 +24,7 @@ describe QueuedPostsController do
it 'returns the queued posts' do it 'returns the queued posts' do
get "/queued-posts.json" get "/queued-posts.json"
expect(response).to be_success expect(response.status).to eq(200)
end end
end end
@ -53,7 +53,7 @@ describe QueuedPostsController do
queued_post: { state: 'approved' } queued_post: { state: 'approved' }
} }
expect(response).to be_success expect(response.status).to eq(200)
qp.reload qp.reload
expect(qp.state).to eq(QueuedPost.states[:approved]) expect(qp.state).to eq(QueuedPost.states[:approved])
@ -67,7 +67,7 @@ describe QueuedPostsController do
queued_post: { state: 'rejected' } queued_post: { state: 'rejected' }
} }
expect(response).to be_success expect(response.status).to eq(200)
qp.reload qp.reload
expect(qp.state).to eq(QueuedPost.states[:rejected]) expect(qp.state).to eq(QueuedPost.states[:rejected])
@ -92,7 +92,7 @@ describe QueuedPostsController do
queued_post: changes queued_post: changes
} }
expect(response).to be_success expect(response.status).to eq(200)
queued_topic.reload queued_topic.reload
expect(queued_topic.raw).to eq(changes[:raw]) expect(queued_topic.raw).to eq(changes[:raw])
@ -111,7 +111,7 @@ describe QueuedPostsController do
} }
original_category = queued_reply.post_options['category'] original_category = queued_reply.post_options['category']
expect(response).to be_success expect(response.status).to eq(200)
queued_reply.reload queued_reply.reload
expect(queued_reply.raw).to eq(changes[:raw]) expect(queued_reply.raw).to eq(changes[:raw])

View File

@ -17,7 +17,7 @@ describe SearchController do
term: 'awesome', include_blurb: true term: 'awesome', include_blurb: true
} }
expect(response).to be_successful expect(response.status).to eq(200)
data = JSON.parse(response.body) data = JSON.parse(response.body)
expect(data['posts'][0]['id']).to eq(my_post.id) expect(data['posts'][0]['id']).to eq(my_post.id)
expect(data['posts'][0]['blurb']).to eq('this is my really awesome post') expect(data['posts'][0]['blurb']).to eq('this is my really awesome post')
@ -32,7 +32,7 @@ describe SearchController do
term: user.username, type_filter: 'topic' term: user.username, type_filter: 'topic'
} }
expect(response).to be_successful expect(response.status).to eq(200)
data = JSON.parse(response.body) data = JSON.parse(response.body)
expect(data['posts'][0]['id']).to eq(my_post.id) expect(data['posts'][0]['id']).to eq(my_post.id)
@ -42,7 +42,7 @@ describe SearchController do
term: user.username, type_filter: 'user' term: user.username, type_filter: 'user'
} }
expect(response).to be_successful expect(response.status).to eq(200)
data = JSON.parse(response.body) data = JSON.parse(response.body)
expect(data['posts']).to be_blank expect(data['posts']).to be_blank
@ -61,7 +61,7 @@ describe SearchController do
search_for_id: true search_for_id: true
} }
expect(response).to be_successful expect(response.status).to eq(200)
data = JSON.parse(response.body) data = JSON.parse(response.body)
expect(data['topics'][0]['id']).to eq(post.topic_id) expect(data['topics'][0]['id']).to eq(post.topic_id)
@ -77,7 +77,7 @@ describe SearchController do
search_for_id: true search_for_id: true
} }
expect(response).to be_successful expect(response.status).to eq(200)
data = JSON.parse(response.body) data = JSON.parse(response.body)
expect(data['topics'][0]['id']).to eq(my_post.topic_id) expect(data['topics'][0]['id']).to eq(my_post.topic_id)
@ -90,7 +90,7 @@ describe SearchController do
SiteSetting.log_search_queries = true SiteSetting.log_search_queries = true
get "/search/query.json", params: { term: 'wookie' } get "/search/query.json", params: { term: 'wookie' }
expect(response).to be_successful expect(response.status).to eq(200)
expect(SearchLog.where(term: 'wookie')).to be_present expect(SearchLog.where(term: 'wookie')).to be_present
json = JSON.parse(response.body) json = JSON.parse(response.body)
@ -105,7 +105,7 @@ describe SearchController do
it "doesn't log when disabled" do it "doesn't log when disabled" do
SiteSetting.log_search_queries = false SiteSetting.log_search_queries = false
get "/search/query.json", params: { term: 'wookie' } get "/search/query.json", params: { term: 'wookie' }
expect(response).to be_successful expect(response.status).to eq(200)
expect(SearchLog.where(term: 'wookie')).to be_blank expect(SearchLog.where(term: 'wookie')).to be_blank
end end
end end
@ -114,14 +114,14 @@ describe SearchController do
it "logs the search term" do it "logs the search term" do
SiteSetting.log_search_queries = true SiteSetting.log_search_queries = true
get "/search.json", params: { q: 'bantha' } get "/search.json", params: { q: 'bantha' }
expect(response).to be_successful expect(response.status).to eq(200)
expect(SearchLog.where(term: 'bantha')).to be_present expect(SearchLog.where(term: 'bantha')).to be_present
end end
it "doesn't log when disabled" do it "doesn't log when disabled" do
SiteSetting.log_search_queries = false SiteSetting.log_search_queries = false
get "/search.json", params: { q: 'bantha' } get "/search.json", params: { q: 'bantha' }
expect(response).to be_successful expect(response.status).to eq(200)
expect(SearchLog.where(term: 'bantha')).to be_blank expect(SearchLog.where(term: 'bantha')).to be_blank
end end
end end
@ -155,7 +155,7 @@ describe SearchController do
term: 'test', search_context: { type: 'user', id: user.username } term: 'test', search_context: { type: 'user', id: user.username }
} }
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
@ -187,7 +187,7 @@ describe SearchController do
search_result_type: 'topic' search_result_type: 'topic'
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(SearchLog.find(search_log_id).search_result_id).to be_blank expect(SearchLog.find(search_log_id).search_result_id).to be_blank
end end
@ -207,7 +207,7 @@ describe SearchController do
search_result_type: 'user' search_result_type: 'user'
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(SearchLog.find(search_log_id).search_result_id).to eq(12345) expect(SearchLog.find(search_log_id).search_result_id).to eq(12345)
expect(SearchLog.find(search_log_id).search_result_type).to eq(SearchLog.search_result_types[:user]) expect(SearchLog.find(search_log_id).search_result_type).to eq(SearchLog.search_result_types[:user])
end end
@ -228,7 +228,7 @@ describe SearchController do
search_result_type: 'topic' search_result_type: 'topic'
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(SearchLog.find(search_log_id).search_result_id).to eq(22222) expect(SearchLog.find(search_log_id).search_result_id).to eq(22222)
expect(SearchLog.find(search_log_id).search_result_type).to eq(SearchLog.search_result_types[:topic]) expect(SearchLog.find(search_log_id).search_result_type).to eq(SearchLog.search_result_types[:topic])
end end
@ -246,7 +246,7 @@ describe SearchController do
search_result_type: 'topic' search_result_type: 'topic'
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(SearchLog.find(search_log_id).search_result_id).to be_blank expect(SearchLog.find(search_log_id).search_result_id).to be_blank
end end
@ -266,7 +266,7 @@ describe SearchController do
search_result_type: 'category' search_result_type: 'category'
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(SearchLog.find(search_log_id).search_result_id).to eq(23456) expect(SearchLog.find(search_log_id).search_result_id).to eq(23456)
expect(SearchLog.find(search_log_id).search_result_type).to eq(SearchLog.search_result_types[:category]) expect(SearchLog.find(search_log_id).search_result_type).to eq(SearchLog.search_result_types[:category])
end end
@ -288,7 +288,7 @@ describe SearchController do
search_result_type: 'tag' search_result_type: 'tag'
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(SearchLog.find(search_log_id).search_result_id).to eq(tag.id) expect(SearchLog.find(search_log_id).search_result_id).to eq(tag.id)
expect(SearchLog.find(search_log_id).search_result_type).to eq(SearchLog.search_result_types[:tag]) expect(SearchLog.find(search_log_id).search_result_type).to eq(SearchLog.search_result_types[:tag])
end end

View File

@ -28,7 +28,7 @@ RSpec.describe SessionController do
it 'returns the right response' do it 'returns the right response' do
get "/session/email-login/adasdad" get "/session/email-login/adasdad"
expect(response).to be_successful expect(response.status).to eq(200)
expect(CGI.unescapeHTML(response.body)).to match( expect(CGI.unescapeHTML(response.body)).to match(
I18n.t('email_login.invalid_token') I18n.t('email_login.invalid_token')
@ -41,7 +41,7 @@ RSpec.describe SessionController do
get "/session/email-login/#{email_token.token}" get "/session/email-login/#{email_token.token}"
expect(response).to be_successful expect(response.status).to eq(200)
expect(CGI.unescapeHTML(response.body)).to match( expect(CGI.unescapeHTML(response.body)).to match(
I18n.t('email_login.invalid_token') I18n.t('email_login.invalid_token')
@ -823,7 +823,7 @@ RSpec.describe SessionController do
login: user.username, password: 'sssss' login: user.username, password: 'sssss'
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(::JSON.parse(response.body)['error']).to eq( expect(::JSON.parse(response.body)['error']).to eq(
I18n.t("login.incorrect_username_email_or_password") I18n.t("login.incorrect_username_email_or_password")
) )
@ -837,7 +837,7 @@ RSpec.describe SessionController do
login: user.username, password: ('s' * (User.max_password_length + 1)) login: user.username, password: ('s' * (User.max_password_length + 1))
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(::JSON.parse(response.body)['error']).to eq( expect(::JSON.parse(response.body)['error']).to eq(
I18n.t("login.incorrect_username_email_or_password") I18n.t("login.incorrect_username_email_or_password")
) )
@ -855,7 +855,7 @@ RSpec.describe SessionController do
login: user.username, password: 'myawesomepassword' login: user.username, password: 'myawesomepassword'
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(JSON.parse(response.body)['error']).to eq(I18n.t('login.suspended_with_reason', expect(JSON.parse(response.body)['error']).to eq(I18n.t('login.suspended_with_reason',
date: I18n.l(user.suspended_till, format: :date_only), date: I18n.l(user.suspended_till, format: :date_only),
reason: Rack::Utils.escape_html(user.suspend_reason) reason: Rack::Utils.escape_html(user.suspend_reason)
@ -872,7 +872,7 @@ RSpec.describe SessionController do
login: user.username, password: 'myawesomepassword' login: user.username, password: 'myawesomepassword'
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(JSON.parse(response.body)['error']).to eq(I18n.t('login.not_activated')) expect(JSON.parse(response.body)['error']).to eq(I18n.t('login.not_activated'))
end end
end end
@ -885,7 +885,7 @@ RSpec.describe SessionController do
} }
end end
expect(response).to be_successful expect(response.status).to eq(200)
expect(events.map { |event| event[:event_name] }).to contain_exactly( expect(events.map { |event| event[:event_name] }).to contain_exactly(
:user_logged_in, :user_first_logged_in :user_logged_in, :user_first_logged_in
) )
@ -908,7 +908,7 @@ RSpec.describe SessionController do
password: 'myawesomepassword', password: 'myawesomepassword',
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(JSON.parse(response.body)['error']).to eq(I18n.t( expect(JSON.parse(response.body)['error']).to eq(I18n.t(
'login.invalid_second_factor_code' 'login.invalid_second_factor_code'
)) ))
@ -923,7 +923,7 @@ RSpec.describe SessionController do
second_factor_token: '00000000' second_factor_token: '00000000'
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(JSON.parse(response.body)['error']).to eq(I18n.t( expect(JSON.parse(response.body)['error']).to eq(I18n.t(
'login.invalid_second_factor_code' 'login.invalid_second_factor_code'
)) ))
@ -937,7 +937,7 @@ RSpec.describe SessionController do
password: 'myawesomepassword', password: 'myawesomepassword',
second_factor_token: ROTP::TOTP.new(user_second_factor.data).now second_factor_token: ROTP::TOTP.new(user_second_factor.data).now
} }
expect(response).to be_successful expect(response.status).to eq(200)
user.reload user.reload
expect(session[:current_user_id]).to eq(user.id) expect(session[:current_user_id]).to eq(user.id)
@ -957,7 +957,7 @@ RSpec.describe SessionController do
post "/session.json", params: { post "/session.json", params: {
login: "@" + user.username, password: 'myawesomepassword' login: "@" + user.username, password: 'myawesomepassword'
} }
expect(response).to be_successful expect(response.status).to eq(200)
user.reload user.reload
expect(session[:current_user_id]).to be_nil expect(session[:current_user_id]).to be_nil
@ -969,7 +969,7 @@ RSpec.describe SessionController do
post "/session.json", params: { post "/session.json", params: {
login: "@" + user.username, password: 'myawesomepassword' login: "@" + user.username, password: 'myawesomepassword'
} }
expect(response).to be_successful expect(response.status).to eq(200)
user.reload user.reload
expect(session[:current_user_id]).to eq(user.id) expect(session[:current_user_id]).to eq(user.id)
@ -981,7 +981,7 @@ RSpec.describe SessionController do
post "/session.json", params: { post "/session.json", params: {
login: user.email, password: 'myawesomepassword' login: user.email, password: 'myawesomepassword'
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(session[:current_user_id]).to eq(user.id) expect(session[:current_user_id]).to eq(user.id)
end end
end end
@ -994,7 +994,7 @@ RSpec.describe SessionController do
post "/session.json", params: { post "/session.json", params: {
login: username, password: 'myawesomepassword' login: username, password: 'myawesomepassword'
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(::JSON.parse(response.body)['error']).not_to be_present expect(::JSON.parse(response.body)['error']).not_to be_present
end end
@ -1002,7 +1002,7 @@ RSpec.describe SessionController do
post "/session.json", params: { post "/session.json", params: {
login: email, password: 'myawesomepassword' login: email, password: 'myawesomepassword'
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(::JSON.parse(response.body)['error']).not_to be_present expect(::JSON.parse(response.body)['error']).not_to be_present
end end
end end
@ -1020,12 +1020,12 @@ RSpec.describe SessionController do
end end
it "doesn't log in the user" do it "doesn't log in the user" do
expect(response).to be_successful expect(response.status).to eq(200)
expect(session[:current_user_id]).to be_blank expect(session[:current_user_id]).to be_blank
end end
it "shows the 'not approved' error message" do it "shows the 'not approved' error message" do
expect(response).to be_successful expect(response.status).to eq(200)
expect(JSON.parse(response.body)['error']).to eq( expect(JSON.parse(response.body)['error']).to eq(
I18n.t('login.not_approved') I18n.t('login.not_approved')
) )
@ -1040,7 +1040,7 @@ RSpec.describe SessionController do
post "/session.json", params: { post "/session.json", params: {
login: user.email, password: 'myawesomepassword' login: user.email, password: 'myawesomepassword'
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(session[:current_user_id]).to eq(user.id) expect(session[:current_user_id]).to eq(user.id)
end end
end end
@ -1063,7 +1063,7 @@ RSpec.describe SessionController do
post "/session.json", params: { post "/session.json", params: {
login: user.username, password: 'myawesomepassword' login: user.username, password: 'myawesomepassword'
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(session[:current_user_id]).to eq(user.id) expect(session[:current_user_id]).to eq(user.id)
end end
@ -1076,7 +1076,7 @@ RSpec.describe SessionController do
login: user.username, password: 'myawesomepassword' login: user.username, password: 'myawesomepassword'
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(JSON.parse(response.body)['error']).to be_present expect(JSON.parse(response.body)['error']).to be_present
expect(session[:current_user_id]).not_to eq(user.id) expect(session[:current_user_id]).not_to eq(user.id)
end end
@ -1090,7 +1090,7 @@ RSpec.describe SessionController do
login: user.username, password: 'myawesomepassword' login: user.username, password: 'myawesomepassword'
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(session[:current_user_id]).to eq(user.id) expect(session[:current_user_id]).to eq(user.id)
end end
end end
@ -1105,13 +1105,13 @@ RSpec.describe SessionController do
it "doesn't log in the user" do it "doesn't log in the user" do
post_login post_login
expect(response).to be_successful expect(response.status).to eq(200)
expect(session[:current_user_id]).to be_blank expect(session[:current_user_id]).to be_blank
end end
it "shows the 'not activated' error message" do it "shows the 'not activated' error message" do
post_login post_login
expect(response).to be_successful expect(response.status).to eq(200)
expect(JSON.parse(response.body)['error']).to eq( expect(JSON.parse(response.body)['error']).to eq(
I18n.t 'login.not_activated' I18n.t 'login.not_activated'
) )
@ -1122,7 +1122,7 @@ RSpec.describe SessionController do
it "shows the 'not approved' error message" do it "shows the 'not approved' error message" do
post_login post_login
expect(response).to be_successful expect(response.status).to eq(200)
expect(JSON.parse(response.body)['error']).to eq( expect(JSON.parse(response.body)['error']).to eq(
I18n.t 'login.not_approved' I18n.t 'login.not_approved'
) )
@ -1141,7 +1141,7 @@ RSpec.describe SessionController do
login: user.username, password: 'myawesomepassword' login: user.username, password: 'myawesomepassword'
} }
expect(response).to be_successful expect(response.status).to eq(200)
end end
post "/session.json", params: { post "/session.json", params: {
@ -1164,7 +1164,7 @@ RSpec.describe SessionController do
second_factor_token: '000000' second_factor_token: '000000'
} }
expect(response).to be_successful expect(response.status).to eq(200)
end end
post "/session.json", params: { post "/session.json", params: {
@ -1285,7 +1285,7 @@ RSpec.describe SessionController do
it "returns the JSON for the user" do it "returns the JSON for the user" do
get "/session/current.json" get "/session/current.json"
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json['current_user']).to be_present expect(json['current_user']).to be_present
expect(json['current_user']['id']).to eq(user.id) expect(json['current_user']['id']).to eq(user.id)

View File

@ -30,7 +30,7 @@ describe SimilarTopicsController do
reindex_posts reindex_posts
get "/topics/similar_to.json", params: { title: title, raw: raw } get "/topics/similar_to.json", params: { title: title, raw: raw }
expect(response).to be_success expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json["similar_topics"].size).to eq(0) expect(json["similar_topics"].size).to eq(0)
end end
@ -48,7 +48,7 @@ describe SimilarTopicsController do
get "/topics/similar_to.json", params: { title: title, raw: raw } get "/topics/similar_to.json", params: { title: title, raw: raw }
expect(response).to be_success expect(response.status).to eq(200)
similar_topics = ::JSON.parse(response.body)["similar_topics"] similar_topics = ::JSON.parse(response.body)["similar_topics"]
expect(similar_topics.size).to eq(1) expect(similar_topics.size).to eq(1)
expect(similar_topics.first["topic_id"]).to eq(topic.id) expect(similar_topics.first["topic_id"]).to eq(topic.id)
@ -66,7 +66,7 @@ describe SimilarTopicsController do
it "passes a user through if logged in" do it "passes a user through if logged in" do
get "/topics/similar_to.json", params: { title: title, raw: raw } get "/topics/similar_to.json", params: { title: title, raw: raw }
expect(response).to be_success expect(response.status).to eq(200)
similar_topics = ::JSON.parse(response.body)["similar_topics"].map { |topic| topic["topic_id"] } similar_topics = ::JSON.parse(response.body)["similar_topics"].map { |topic| topic["topic_id"] }
expect(similar_topics.size).to eq(2) expect(similar_topics.size).to eq(2)
expect(similar_topics).to include(topic.id) expect(similar_topics).to include(topic.id)
@ -82,7 +82,7 @@ describe SimilarTopicsController do
get "/topics/similar_to.json", params: { title: title, raw: raw } get "/topics/similar_to.json", params: { title: title, raw: raw }
expect(response).to be_success expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json["similar_topics"].size).to eq(0) expect(json["similar_topics"].size).to eq(0)
end end

View File

@ -32,7 +32,7 @@ describe SiteController do
get "/site/statistics.json" get "/site/statistics.json"
json = JSON.parse(response.body) json = JSON.parse(response.body)
expect(response).to be_successful expect(response.status).to eq(200)
expect(json["topic_count"]).to be_present expect(json["topic_count"]).to be_present
expect(json["post_count"]).to be_present expect(json["post_count"]).to be_present
expect(json["user_count"]).to be_present expect(json["user_count"]).to be_present

View File

@ -98,7 +98,7 @@ describe StaticController do
it "should return the right response" do it "should return the right response" do
get "/faq" get "/faq"
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.body).to include(I18n.t('js.faq')) expect(response.body).to include(I18n.t('js.faq'))
end end
end end
@ -113,7 +113,7 @@ describe StaticController do
it "renders the #{id} page" do it "renders the #{id} page" do
get "/#{id}" get "/#{id}"
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.body).to include(text) expect(response.body).to include(text)
end end
end end
@ -150,7 +150,7 @@ describe StaticController do
get "/login" get "/login"
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.body).to include(PrettyText.cook(I18n.t( expect(response.body).to include(PrettyText.cook(I18n.t(
'login_required.welcome_message', title: SiteSetting.title 'login_required.welcome_message', title: SiteSetting.title
@ -177,7 +177,7 @@ describe StaticController do
get '/faq' get '/faq'
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.body).to include(I18n.t('js.faq')) expect(response.body).to include(I18n.t('js.faq'))
end end
@ -186,7 +186,7 @@ describe StaticController do
get '/guidelines' get '/guidelines'
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.body).to include(I18n.t('guidelines')) expect(response.body).to include(I18n.t('guidelines'))
end end
end end

View File

@ -40,7 +40,7 @@ describe StepsController do
fields: { contact_email: "eviltrout@example.com" } fields: { contact_email: "eviltrout@example.com" }
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(SiteSetting.contact_email).to eq("eviltrout@example.com") expect(SiteSetting.contact_email).to eq("eviltrout@example.com")
end end

View File

@ -16,7 +16,7 @@ describe TagsController do
it "should return the right response" do it "should return the right response" do
get "/tags.json" get "/tags.json"
expect(response).to be_successful expect(response.status).to eq(200)
tags = JSON.parse(response.body)["tags"] tags = JSON.parse(response.body)["tags"]
expect(tags.length).to eq(1) expect(tags.length).to eq(1)
@ -41,7 +41,7 @@ describe TagsController do
get "/tags.json" get "/tags.json"
expect(response).to be_successful expect(response.status).to eq(200)
tags = JSON.parse(response.body)["tags"] tags = JSON.parse(response.body)["tags"]
expect(tags.length).to eq(2) expect(tags.length).to eq(2)
@ -57,7 +57,7 @@ describe TagsController do
it "should return the right response" do it "should return the right response" do
get "/tags/test" get "/tags/test"
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "should handle invalid tags" do it "should handle invalid tags" do
@ -72,7 +72,7 @@ describe TagsController do
it "should return the right response" do it "should return the right response" do
get "/tags/check.json", params: { tag_values: [tag.name] } get "/tags/check.json", params: { tag_values: [tag.name] }
expect(response).to be_successful expect(response.status).to eq(200)
tag = JSON.parse(response.body)["valid"].first tag = JSON.parse(response.body)["valid"].first
expect(tag["value"]).to eq('test') expect(tag["value"]).to eq('test')
@ -141,7 +141,7 @@ describe TagsController do
it "can see their own pm tags" do it "can see their own pm tags" do
get "/tags/personal_messages/#{moderator.username}.json" get "/tags/personal_messages/#{moderator.username}.json"
expect(response).to be_successful expect(response.status).to eq(200)
tag = JSON.parse(response.body)['tags'] tag = JSON.parse(response.body)['tags']
expect(tag[0]["id"]).to eq('test') expect(tag[0]["id"]).to eq('test')
@ -156,7 +156,7 @@ describe TagsController do
it "can see pm tags for regular user" do it "can see pm tags for regular user" do
get "/tags/personal_messages/#{regular_user.username}.json" get "/tags/personal_messages/#{regular_user.username}.json"
expect(response).to be_successful expect(response.status).to eq(200)
tag = JSON.parse(response.body)['tags'] tag = JSON.parse(response.body)['tags']
expect(tag[0]["id"]).to eq('test') expect(tag[0]["id"]).to eq('test')
@ -165,7 +165,7 @@ describe TagsController do
it "can see their own pm tags" do it "can see their own pm tags" do
get "/tags/personal_messages/#{admin.username}.json" get "/tags/personal_messages/#{admin.username}.json"
expect(response).to be_successful expect(response.status).to eq(200)
tag = JSON.parse(response.body)['tags'] tag = JSON.parse(response.body)['tags']
expect(tag[0]["id"]).to eq('test') expect(tag[0]["id"]).to eq('test')
@ -195,7 +195,7 @@ describe TagsController do
context 'tagging enabled' do context 'tagging enabled' do
it "can filter by tag" do it "can filter by tag" do
get "/tags/#{tag.name}/l/latest.json" get "/tags/#{tag.name}/l/latest.json"
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "can filter by two tags" do it "can filter by two tags" do
@ -205,7 +205,7 @@ describe TagsController do
additional_tag_ids: other_tag.name additional_tag_ids: other_tag.name
} }
expect(response).to be_successful expect(response.status).to eq(200)
topic_ids = JSON.parse(response.body)["topic_list"]["topics"] topic_ids = JSON.parse(response.body)["topic_list"]["topics"]
.map { |topic| topic["id"] } .map { |topic| topic["id"] }
@ -222,7 +222,7 @@ describe TagsController do
additional_tag_ids: "#{other_tag.name}/#{third_tag.name}" additional_tag_ids: "#{other_tag.name}/#{third_tag.name}"
} }
expect(response).to be_successful expect(response.status).to eq(200)
topic_ids = JSON.parse(response.body)["topic_list"]["topics"] topic_ids = JSON.parse(response.body)["topic_list"]["topics"]
.map { |topic| topic["id"] } .map { |topic| topic["id"] }
@ -239,7 +239,7 @@ describe TagsController do
additional_tag_ids: "notatag" additional_tag_ids: "notatag"
} }
expect(response).to be_successful expect(response.status).to eq(200)
topic_ids = JSON.parse(response.body)["topic_list"]["topics"] topic_ids = JSON.parse(response.body)["topic_list"]["topics"]
.map { |topic| topic["id"] } .map { |topic| topic["id"] }
@ -249,17 +249,17 @@ describe TagsController do
it "can filter by category and tag" do it "can filter by category and tag" do
get "/tags/c/#{category.slug}/#{tag.name}/l/latest.json" get "/tags/c/#{category.slug}/#{tag.name}/l/latest.json"
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "can filter by category, sub-category, and tag" do it "can filter by category, sub-category, and tag" do
get "/tags/c/#{category.slug}/#{subcategory.slug}/#{tag.name}/l/latest.json" get "/tags/c/#{category.slug}/#{subcategory.slug}/#{tag.name}/l/latest.json"
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "can filter by category, no sub-category, and tag" do it "can filter by category, no sub-category, and tag" do
get "/tags/c/#{category.slug}/none/#{tag.name}/l/latest.json" get "/tags/c/#{category.slug}/none/#{tag.name}/l/latest.json"
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "can handle subcategories with the same name" do it "can handle subcategories with the same name" do
@ -272,7 +272,7 @@ describe TagsController do
t = Fabricate(:topic, category_id: subcategory2.id, tags: [other_tag]) t = Fabricate(:topic, category_id: subcategory2.id, tags: [other_tag])
get "/tags/c/#{category2.slug}/#{subcategory2.slug}/#{other_tag.name}/l/latest.json" get "/tags/c/#{category2.slug}/#{subcategory2.slug}/#{other_tag.name}/l/latest.json"
expect(response).to be_successful expect(response.status).to eq(200)
topic_ids = JSON.parse(response.body)["topic_list"]["topics"] topic_ids = JSON.parse(response.body)["topic_list"]["topics"]
.map { |topic| topic["id"] } .map { |topic| topic["id"] }
@ -284,7 +284,7 @@ describe TagsController do
sign_in(Fabricate(:user)) sign_in(Fabricate(:user))
get "/tags/#{tag.name}/l/bookmarks.json" get "/tags/#{tag.name}/l/bookmarks.json"
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
end end
@ -303,7 +303,7 @@ describe TagsController do
tag_names = ['stuff', 'stinky', 'stumped'] tag_names = ['stuff', 'stinky', 'stumped']
tag_names.each { |name| Fabricate(:tag, name: name) } tag_names.each { |name| Fabricate(:tag, name: name) }
get "/tags/filter/search.json", params: { q: 'stu' } get "/tags/filter/search.json", params: { q: 'stu' }
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json["results"].map { |j| j["id"] }.sort).to eq(['stuff', 'stumped']) expect(json["results"].map { |j| j["id"] }.sort).to eq(['stuff', 'stumped'])
end end
@ -312,7 +312,7 @@ describe TagsController do
yup, nope = Fabricate(:tag, name: 'yup'), Fabricate(:tag, name: 'nope') yup, nope = Fabricate(:tag, name: 'yup'), Fabricate(:tag, name: 'nope')
category = Fabricate(:category, tags: [yup]) category = Fabricate(:category, tags: [yup])
get "/tags/filter/search.json", params: { q: 'nope', categoryId: category.id } get "/tags/filter/search.json", params: { q: 'nope', categoryId: category.id }
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json["results"].map { |j| j["id"] }.sort).to eq([]) expect(json["results"].map { |j| j["id"] }.sort).to eq([])
expect(json["forbidden"]).to be_present expect(json["forbidden"]).to be_present
@ -322,7 +322,7 @@ describe TagsController do
c = Fabricate(:private_category, group: Fabricate(:group)) c = Fabricate(:private_category, group: Fabricate(:group))
Fabricate(:topic, category: c, tags: [Fabricate(:tag, name: "cooltag")]) Fabricate(:topic, category: c, tags: [Fabricate(:tag, name: "cooltag")])
get "/tags/filter/search.json", params: { q: "cool" } get "/tags/filter/search.json", params: { q: "cool" }
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json["results"].map { |j| j["id"] }).to eq(['cooltag']) expect(json["results"].map { |j| j["id"] }).to eq(['cooltag'])
end end
@ -332,12 +332,12 @@ describe TagsController do
tag_names.each { |name| Fabricate(:tag, name: name) } tag_names.each { |name| Fabricate(:tag, name: name) }
get "/tags/filter/search.json", params: { q: '房' } get "/tags/filter/search.json", params: { q: '房' }
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json["results"].map { |j| j["id"] }).to eq(['房地产']) expect(json["results"].map { |j| j["id"] }).to eq(['房地产'])
get "/tags/filter/search.json", params: { q: 'тема' } get "/tags/filter/search.json", params: { q: 'тема' }
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json["results"].map { |j| j["id"] }).to eq(['тема-в-разработке']) expect(json["results"].map { |j| j["id"] }).to eq(['тема-в-разработке'])
end end
@ -354,7 +354,7 @@ describe TagsController do
it 'deletes the tag' do it 'deletes the tag' do
tag = Fabricate(:tag) tag = Fabricate(:tag)
delete "/tags/#{tag.name}.json" delete "/tags/#{tag.name}.json"
expect(response).to be_successful expect(response.status).to eq(200)
expect(Tag.where(id: tag.id)).to be_empty expect(Tag.where(id: tag.id)).to be_empty
end end
end end

View File

@ -15,7 +15,7 @@ RSpec.describe TopicsController do
get "/t/#{topic.id}/wordpress.json", params: { best: 3 } get "/t/#{topic.id}/wordpress.json", params: { best: 3 }
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
# The JSON has the data the wordpress plugin needs # The JSON has the data the wordpress plugin needs
@ -105,7 +105,7 @@ RSpec.describe TopicsController do
} }
end.to change { Topic.count }.by(1) end.to change { Topic.count }.by(1)
expect(response).to be_successful expect(response.status).to eq(200)
result = ::JSON.parse(response.body) result = ::JSON.parse(response.body)
@ -127,7 +127,7 @@ RSpec.describe TopicsController do
} }
end.to change { Topic.count }.by(1) end.to change { Topic.count }.by(1)
expect(response).to be_successful expect(response.status).to eq(200)
result = JSON.parse(response.body) result = JSON.parse(response.body)
@ -143,7 +143,7 @@ RSpec.describe TopicsController do
post "/t/#{topic.id}/move-posts.json", params: { post "/t/#{topic.id}/move-posts.json", params: {
post_ids: [p2.id] post_ids: [p2.id]
} }
expect(response).to be_successful expect(response.status).to eq(200)
result = ::JSON.parse(response.body) result = ::JSON.parse(response.body)
expect(result['success']).to eq(false) expect(result['success']).to eq(false)
expect(result['url']).to be_blank expect(result['url']).to be_blank
@ -193,7 +193,7 @@ RSpec.describe TopicsController do
destination_topic_id: dest_topic.id destination_topic_id: dest_topic.id
} }
expect(response).to be_successful expect(response.status).to eq(200)
result = ::JSON.parse(response.body) result = ::JSON.parse(response.body)
expect(result['success']).to eq(true) expect(result['success']).to eq(true)
expect(result['url']).to be_present expect(result['url']).to be_present
@ -207,7 +207,7 @@ RSpec.describe TopicsController do
post_ids: [p2.id] post_ids: [p2.id]
} }
expect(response).to be_successful expect(response.status).to eq(200)
result = ::JSON.parse(response.body) result = ::JSON.parse(response.body)
expect(result['success']).to eq(false) expect(result['success']).to eq(false)
expect(result['url']).to be_blank expect(result['url']).to be_blank
@ -251,7 +251,7 @@ RSpec.describe TopicsController do
destination_topic_id: dest_topic.id destination_topic_id: dest_topic.id
} }
expect(response).to be_successful expect(response.status).to eq(200)
result = ::JSON.parse(response.body) result = ::JSON.parse(response.body)
expect(result['success']).to eq(true) expect(result['success']).to eq(true)
expect(result['url']).to be_present expect(result['url']).to be_present
@ -317,7 +317,7 @@ RSpec.describe TopicsController do
} }
topic.reload topic.reload
p1.reload p1.reload
expect(response).to be_successful expect(response.status).to eq(200)
expect(topic.user.username).to eq(user_a.username) expect(topic.user.username).to eq(user_a.username)
expect(p1.user.username).to eq(user_a.username) expect(p1.user.username).to eq(user_a.username)
end end
@ -327,7 +327,7 @@ RSpec.describe TopicsController do
username: user_a.username_lower, post_ids: [p1.id, p2.id] username: user_a.username_lower, post_ids: [p1.id, p2.id]
} }
expect(response).to be_successful expect(response.status).to eq(200)
p1.reload p1.reload
p2.reload p2.reload
@ -347,7 +347,7 @@ RSpec.describe TopicsController do
username: user_a.username_lower, post_ids: [p3.id] username: user_a.username_lower, post_ids: [p3.id]
} }
expect(response).to be_successful expect(response.status).to eq(200)
t2.reload t2.reload
p3.reload p3.reload
expect(t2.deleted_at).to be_nil expect(t2.deleted_at).to be_nil
@ -392,7 +392,7 @@ RSpec.describe TopicsController do
timestamp: new_timestamp.to_f timestamp: new_timestamp.to_f
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(topic.reload.created_at).to be_within_one_second_of(new_timestamp) expect(topic.reload.created_at).to be_within_one_second_of(new_timestamp)
expect(p1.reload.created_at).to be_within_one_second_of(new_timestamp) expect(p1.reload.created_at).to be_within_one_second_of(new_timestamp)
expect(p2.reload.created_at).to be_within_one_second_of(old_timestamp) expect(p2.reload.created_at).to be_within_one_second_of(old_timestamp)
@ -424,7 +424,7 @@ RSpec.describe TopicsController do
expect do expect do
put "/t/#{topic.id}/clear-pin.json" put "/t/#{topic.id}/clear-pin.json"
end.to change { TopicUser.where(topic_id: topic.id, user_id: user.id).count }.by(1) end.to change { TopicUser.where(topic_id: topic.id, user_id: user.id).count }.by(1)
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
end end
@ -479,7 +479,7 @@ RSpec.describe TopicsController do
status: 'closed', enabled: 'false' status: 'closed', enabled: 'false'
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(topic.reload.closed).to eq(false) expect(topic.reload.closed).to eq(false)
expect(topic.topic_timers).to eq([]) expect(topic.topic_timers).to eq([])
@ -560,7 +560,7 @@ RSpec.describe TopicsController do
put "/t/#{topic.id}/recover.json" put "/t/#{topic.id}/recover.json"
topic.reload topic.reload
post.reload post.reload
expect(response).to be_successful expect(response.status).to eq(200)
expect(topic.trashed?).to be_falsey expect(topic.trashed?).to be_falsey
expect(post.trashed?).to be_falsey expect(post.trashed?).to be_falsey
end end
@ -595,7 +595,7 @@ RSpec.describe TopicsController do
it 'succeeds' do it 'succeeds' do
delete "/t/#{topic.id}.json" delete "/t/#{topic.id}.json"
expect(response).to be_successful expect(response.status).to eq(200)
topic.reload topic.reload
expect(topic.trashed?).to be_truthy expect(topic.trashed?).to be_truthy
end end
@ -609,7 +609,7 @@ RSpec.describe TopicsController do
it "returns JSON for the slug" do it "returns JSON for the slug" do
get "/t/id_for/#{topic.slug}.json" get "/t/id_for/#{topic.slug}.json"
expect(response).to be_successful expect(response.status).to eq(200)
json = ::JSON.parse(response.body) json = ::JSON.parse(response.body)
expect(json['topic_id']).to eq(topic.id) expect(json['topic_id']).to eq(topic.id)
expect(json['url']).to eq(topic.url) expect(json['url']).to eq(topic.url)
@ -785,7 +785,7 @@ RSpec.describe TopicsController do
it 'correctly renders canoicals' do it 'correctly renders canoicals' do
get "/t/#{topic.id}", params: { slug: topic.slug } get "/t/#{topic.id}", params: { slug: topic.slug }
expect(response).to be_successful expect(response.status).to eq(200)
expect(css_select("link[rel=canonical]").length).to eq(1) expect(css_select("link[rel=canonical]").length).to eq(1)
expect(response.headers["Cache-Control"]).to eq("no-cache, no-store") expect(response.headers["Cache-Control"]).to eq("no-cache, no-store")
end end
@ -802,7 +802,7 @@ RSpec.describe TopicsController do
Fabricate(:post, topic: topic) Fabricate(:post, topic: topic)
get "/t/#{topic.id}.json", params: { slug: topic.slug } get "/t/#{topic.id}.json", params: { slug: topic.slug }
expect(response).to be_successful expect(response.status).to eq(200)
get "/t/#{topic.id}.json", params: { slug: "just-guessing" } get "/t/#{topic.id}.json", params: { slug: "just-guessing" }
expect(response.status).to eq(301) expect(response.status).to eq(301)
@ -813,7 +813,7 @@ RSpec.describe TopicsController do
it 'shows a topic correctly' do it 'shows a topic correctly' do
get "/t/#{topic.slug}/#{topic.id}.json" get "/t/#{topic.slug}/#{topic.id}.json"
expect(response).to be_successful expect(response.status).to eq(200)
end end
it 'return 404 for an invalid page' do it 'return 404 for an invalid page' do
@ -1042,7 +1042,7 @@ RSpec.describe TopicsController do
SiteSetting.max_prints_per_hour_per_user = 10 SiteSetting.max_prints_per_hour_per_user = 10
get "/t/#{topic.slug}/#{topic.id}/print", headers: { HTTP_USER_AGENT: "Rails Testing" } get "/t/#{topic.slug}/#{topic.id}/print", headers: { HTTP_USER_AGENT: "Rails Testing" }
expect(response).to be_successful expect(response.status).to eq(200)
body = response.body body = response.body
expect(body).to have_tag(:body, class: 'crawler') expect(body).to have_tag(:body, class: 'crawler')
@ -1108,20 +1108,20 @@ RSpec.describe TopicsController do
it 'grabs the correct set of posts' do it 'grabs the correct set of posts' do
get "/t/#{topic.slug}/#{topic.id}.json" get "/t/#{topic.slug}/#{topic.id}.json"
expect(response).to be_successful expect(response.status).to eq(200)
expect(extract_post_stream).to eq(@post_ids[0..1]) expect(extract_post_stream).to eq(@post_ids[0..1])
get "/t/#{topic.slug}/#{topic.id}.json", params: { page: 1 } get "/t/#{topic.slug}/#{topic.id}.json", params: { page: 1 }
expect(response).to be_successful expect(response.status).to eq(200)
expect(extract_post_stream).to eq(@post_ids[0..1]) expect(extract_post_stream).to eq(@post_ids[0..1])
get "/t/#{topic.slug}/#{topic.id}.json", params: { page: 2 } get "/t/#{topic.slug}/#{topic.id}.json", params: { page: 2 }
expect(response).to be_successful expect(response.status).to eq(200)
expect(extract_post_stream).to eq(@post_ids[2..3]) expect(extract_post_stream).to eq(@post_ids[2..3])
post_number = topic.posts.pluck(:post_number).sort[3] post_number = topic.posts.pluck(:post_number).sort[3]
get "/t/#{topic.slug}/#{topic.id}/#{post_number}.json" get "/t/#{topic.slug}/#{topic.id}/#{post_number}.json"
expect(response).to be_successful expect(response.status).to eq(200)
expect(extract_post_stream).to eq(@post_ids[-2..-1]) expect(extract_post_stream).to eq(@post_ids[-2..-1])
end end
end end
@ -1134,7 +1134,7 @@ RSpec.describe TopicsController do
it 'shows the topic' do it 'shows the topic' do
get "/t/#{topic.slug}/#{topic.id}.json" get "/t/#{topic.slug}/#{topic.id}.json"
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
@ -1150,7 +1150,7 @@ RSpec.describe TopicsController do
it 'shows the topic if valid api key is provided' do it 'shows the topic if valid api key is provided' do
get "/t/#{topic.slug}/#{topic.id}.json", params: { api_key: api_key.key } get "/t/#{topic.slug}/#{topic.id}.json", params: { api_key: api_key.key }
expect(response).to be_successful expect(response.status).to eq(200)
topic.reload topic.reload
expect(topic.views).to eq(1) expect(topic.views).to eq(1)
end end
@ -1226,7 +1226,7 @@ RSpec.describe TopicsController do
expect { expect {
get "/t/#{topic.id}.json" get "/t/#{topic.id}.json"
}.not_to change(IncomingLink, :count) }.not_to change(IncomingLink, :count)
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "doesn't raise an error on a very long link" do it "doesn't raise an error on a very long link" do
@ -1245,7 +1245,7 @@ RSpec.describe TopicsController do
body = response.body body = response.body
expect(response).to be_successful expect(response.status).to eq(200)
expect(body).to have_tag(:script, with: { src: '/assets/application.js' }) expect(body).to have_tag(:script, with: { src: '/assets/application.js' })
expect(body).to_not have_tag(:meta, with: { name: 'fragment' }) expect(body).to_not have_tag(:meta, with: { name: 'fragment' })
end end
@ -1272,7 +1272,7 @@ RSpec.describe TopicsController do
body = response.body body = response.body
expect(response).to be_successful expect(response.status).to eq(200)
expect(body).to have_tag(:body, with: { class: 'crawler' }) expect(body).to have_tag(:body, with: { class: 'crawler' })
expect(body).to_not have_tag(:meta, with: { name: 'fragment' }) expect(body).to_not have_tag(:meta, with: { name: 'fragment' })
end end
@ -1288,7 +1288,7 @@ RSpec.describe TopicsController do
get "/t/#{topic.id}.json" get "/t/#{topic.id}.json"
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.cookies['cn']).to eq(nil) expect(response.cookies['cn']).to eq(nil)
notification.reload notification.reload
@ -1301,7 +1301,7 @@ RSpec.describe TopicsController do
get "/t/#{topic.id}.json", headers: { "Discourse-Clear-Notifications" => "2828,100,#{notification.id}" } get "/t/#{topic.id}.json", headers: { "Discourse-Clear-Notifications" => "2828,100,#{notification.id}" }
expect(response).to be_successful expect(response.status).to eq(200)
notification.reload notification.reload
expect(notification.read).to eq(true) expect(notification.read).to eq(true)
end end
@ -1323,7 +1323,7 @@ RSpec.describe TopicsController do
it "uses the default locale" do it "uses the default locale" do
get "/t/#{topic.id}.json", headers: headers("fr") get "/t/#{topic.id}.json", headers: headers("fr")
expect(response).to be_successful expect(response.status).to eq(200)
expect(I18n.locale).to eq(:en) expect(I18n.locale).to eq(:en)
end end
end end
@ -1335,7 +1335,7 @@ RSpec.describe TopicsController do
get "/t/#{topic.id}.json", headers: headers("fr") get "/t/#{topic.id}.json", headers: headers("fr")
expect(response).to be_successful expect(response.status).to eq(200)
expect(I18n.locale).to eq(:en) expect(I18n.locale).to eq(:en)
end end
end end
@ -1353,7 +1353,7 @@ RSpec.describe TopicsController do
context "with an anonymous user" do context "with an anonymous user" do
it "uses the locale from the headers" do it "uses the locale from the headers" do
get "/t/#{topic.id}.json", headers: headers("fr") get "/t/#{topic.id}.json", headers: headers("fr")
expect(response).to be_successful expect(response.status).to eq(200)
expect(I18n.locale).to eq(:fr) expect(I18n.locale).to eq(:fr)
end end
end end
@ -1364,7 +1364,7 @@ RSpec.describe TopicsController do
sign_in(user) sign_in(user)
get "/t/#{topic.id}.json", headers: headers("fr") get "/t/#{topic.id}.json", headers: headers("fr")
expect(response).to be_successful expect(response.status).to eq(200)
expect(I18n.locale).to eq(:fr) expect(I18n.locale).to eq(:fr)
end end
end end
@ -1377,7 +1377,7 @@ RSpec.describe TopicsController do
SiteSetting.default_locale = "en" SiteSetting.default_locale = "en"
get "/t/#{topic.id}.json", headers: headers("zh-CN") get "/t/#{topic.id}.json", headers: headers("zh-CN")
expect(response).to be_successful expect(response.status).to eq(200)
expect(I18n.locale).to eq(:zh_CN) expect(I18n.locale).to eq(:zh_CN)
end end
end end
@ -1388,7 +1388,7 @@ RSpec.describe TopicsController do
SiteSetting.default_locale = 'en' SiteSetting.default_locale = 'en'
get "/t/#{topic.id}.json", headers: headers("") get "/t/#{topic.id}.json", headers: headers("")
expect(response).to be_successful expect(response.status).to eq(200)
expect(I18n.locale).to eq(:en) expect(I18n.locale).to eq(:en)
end end
end end
@ -1398,14 +1398,14 @@ RSpec.describe TopicsController do
describe "read only header" do describe "read only header" do
it "returns no read only header by default" do it "returns no read only header by default" do
get "/t/#{topic.id}.json" get "/t/#{topic.id}.json"
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.headers['Discourse-Readonly']).to eq(nil) expect(response.headers['Discourse-Readonly']).to eq(nil)
end end
it "returns a readonly header if the site is read only" do it "returns a readonly header if the site is read only" do
Discourse.received_readonly! Discourse.received_readonly!
get "/t/#{topic.id}.json" get "/t/#{topic.id}.json"
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.headers['Discourse-Readonly']).to eq('true') expect(response.headers['Discourse-Readonly']).to eq('true')
end end
end end
@ -1416,7 +1416,7 @@ RSpec.describe TopicsController do
it 'returns first posts of the topic' do it 'returns first posts of the topic' do
get "/t/#{topic.id}/posts.json" get "/t/#{topic.id}/posts.json"
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.content_type).to eq('application/json') expect(response.content_type).to eq('application/json')
end end
end end
@ -1426,7 +1426,7 @@ RSpec.describe TopicsController do
it 'renders rss of the topic' do it 'renders rss of the topic' do
get "/t/foo/#{topic.id}.rss" get "/t/foo/#{topic.id}.rss"
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.content_type).to eq('application/rss+xml') expect(response.content_type).to eq('application/rss+xml')
end end
end end
@ -1473,7 +1473,7 @@ RSpec.describe TopicsController do
topic = Fabricate(:topic, user: sign_in(Fabricate(:admin))) topic = Fabricate(:topic, user: sign_in(Fabricate(:admin)))
put "/t/#{topic.id}/make-banner.json" put "/t/#{topic.id}/make-banner.json"
expect(response).to be_successful expect(response.status).to eq(200)
topic.reload topic.reload
expect(topic.archetype).to eq(Archetype.banner) expect(topic.archetype).to eq(Archetype.banner)
end end
@ -1492,7 +1492,7 @@ RSpec.describe TopicsController do
topic = Fabricate(:topic, user: sign_in(Fabricate(:admin)), archetype: Archetype.banner) topic = Fabricate(:topic, user: sign_in(Fabricate(:admin)), archetype: Archetype.banner)
put "/t/#{topic.id}/remove-banner.json" put "/t/#{topic.id}/remove-banner.json"
expect(response).to be_successful expect(response.status).to eq(200)
topic.reload topic.reload
expect(topic.archetype).to eq(Archetype.default) expect(topic.archetype).to eq(Archetype.default)
end end
@ -1601,7 +1601,7 @@ RSpec.describe TopicsController do
user.user_stat.update_column(:new_since, old_date) user.user_stat.update_column(:new_since, old_date)
put "/topics/reset-new.json" put "/topics/reset-new.json"
expect(response).to be_successful expect(response.status).to eq(200)
user.reload user.reload
expect(user.user_stat.new_since.to_date).not_to eq(old_date.to_date) expect(user.user_stat.new_since.to_date).not_to eq(old_date.to_date)
end end
@ -1611,7 +1611,7 @@ RSpec.describe TopicsController do
it "works" do it "works" do
get "/topics/feature_stats.json", params: { category_id: 1 } get "/topics/feature_stats.json", params: { category_id: 1 }
expect(response).to be_successful expect(response.status).to eq(200)
json = JSON.parse(response.body) json = JSON.parse(response.body)
expect(json["pinned_in_category_count"]).to eq(0) expect(json["pinned_in_category_count"]).to eq(0)
expect(json["pinned_globally_count"]).to eq(0) expect(json["pinned_globally_count"]).to eq(0)
@ -1676,7 +1676,7 @@ RSpec.describe TopicsController do
topic.reload topic.reload
expect(topic.archetype).to eq(Archetype.private_message) expect(topic.archetype).to eq(Archetype.private_message)
expect(response).to be_successful expect(response.status).to eq(200)
result = ::JSON.parse(response.body) result = ::JSON.parse(response.body)
expect(result['success']).to eq(true) expect(result['success']).to eq(true)
@ -1702,7 +1702,7 @@ RSpec.describe TopicsController do
topic.reload topic.reload
expect(topic.archetype).to eq(Archetype.default) expect(topic.archetype).to eq(Archetype.default)
expect(response).to be_successful expect(response.status).to eq(200)
result = ::JSON.parse(response.body) result = ::JSON.parse(response.body)
expect(result['success']).to eq(true) expect(result['success']).to eq(true)
@ -1724,7 +1724,7 @@ RSpec.describe TopicsController do
timings: { post_1.post_number => 2 } timings: { post_1.post_number => 2 }
} }
expect(response).to be_successful expect(response.status).to eq(200)
post_timing = PostTiming.first post_timing = PostTiming.first
@ -1772,7 +1772,7 @@ RSpec.describe TopicsController do
status_type: TopicTimer.types[1] status_type: TopicTimer.types[1]
} }
expect(response).to be_successful expect(response.status).to eq(200)
topic_status_update = TopicTimer.last topic_status_update = TopicTimer.last
@ -1798,7 +1798,7 @@ RSpec.describe TopicsController do
status_type: TopicTimer.types[1] status_type: TopicTimer.types[1]
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(topic.reload.public_topic_timer).to eq(nil) expect(topic.reload.public_topic_timer).to eq(nil)
json = JSON.parse(response.body) json = JSON.parse(response.body)
@ -1816,7 +1816,7 @@ RSpec.describe TopicsController do
category_id: topic.category_id category_id: topic.category_id
} }
expect(response).to be_successful expect(response.status).to eq(200)
topic_status_update = TopicTimer.last topic_status_update = TopicTimer.last
@ -2036,7 +2036,7 @@ RSpec.describe TopicsController do
let!(:shared_draft) { Fabricate(:shared_draft, topic: topic, category: category) } let!(:shared_draft) { Fabricate(:shared_draft, topic: topic, category: category) }
it "allows staff to update the category id" do it "allows staff to update the category id" do
put "/t/#{topic.id}/shared-draft.json", params: { category_id: other_cat.id } put "/t/#{topic.id}/shared-draft.json", params: { category_id: other_cat.id }
expect(response).to be_successful expect(response.status).to eq(200)
topic.reload topic.reload
expect(topic.shared_draft.category_id).to eq(other_cat.id) expect(topic.shared_draft.category_id).to eq(other_cat.id)
end end
@ -2045,7 +2045,7 @@ RSpec.describe TopicsController do
context "without a shared draft" do context "without a shared draft" do
it "allows staff to update the category id" do it "allows staff to update the category id" do
put "/t/#{topic.id}/shared-draft.json", params: { category_id: other_cat.id } put "/t/#{topic.id}/shared-draft.json", params: { category_id: other_cat.id }
expect(response).to be_successful expect(response.status).to eq(200)
topic.reload topic.reload
expect(topic.shared_draft.category_id).to eq(other_cat.id) expect(topic.shared_draft.category_id).to eq(other_cat.id)
end end

View File

@ -122,7 +122,7 @@ describe UploadsController do
for_private_message: "true", for_private_message: "true",
} }
expect(response).to be_successful expect(response.status).to eq(200)
id = JSON.parse(response.body)["id"] id = JSON.parse(response.body)["id"]
expect(id).to be_present expect(id).to be_present
end end
@ -137,7 +137,7 @@ describe UploadsController do
type: "composer", type: "composer",
} }
expect(response).to be_successful expect(response.status).to eq(200)
data = JSON.parse(response.body) data = JSON.parse(response.body)
expect(data["id"]).to be_present expect(data["id"]).to be_present
end end

View File

@ -59,7 +59,7 @@ describe UserAvatarsController do
get "/user_avatar/default/#{user.username}/51/#{upload.id}.png" get "/user_avatar/default/#{user.username}/51/#{upload.id}.png"
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
end end

View File

@ -11,7 +11,7 @@ describe UserBadgesController do
UserBadge.create!(badge: badge, user: user, post_id: p.id, granted_by_id: -1, granted_at: Time.now) UserBadge.create!(badge: badge, user: user, post_id: p.id, granted_by_id: -1, granted_at: Time.now)
get "/user_badges.json", params: { badge_id: badge.id } get "/user_badges.json", params: { badge_id: badge.id }
expect(response).to be_successful expect(response.status).to eq(200)
parsed = JSON.parse(response.body) parsed = JSON.parse(response.body)
expect(parsed["topics"]).to eq(nil) expect(parsed["topics"]).to eq(nil)

View File

@ -64,7 +64,7 @@ describe UsersController do
:user_logged_in, :user_first_logged_in :user_logged_in, :user_first_logged_in
) )
expect(response).to be_successful expect(response.status).to eq(200)
expect(flash[:error]).to be_blank expect(flash[:error]).to be_blank
expect(session[:current_user_id]).to be_present expect(session[:current_user_id]).to be_present
@ -81,7 +81,7 @@ describe UsersController do
end end
it 'should return the right response' do it 'should return the right response' do
expect(response).to be_successful expect(response.status).to eq(200)
expect(CGI.unescapeHTML(response.body)) expect(CGI.unescapeHTML(response.body))
.to include(I18n.t('activation.approval_required')) .to include(I18n.t('activation.approval_required'))
@ -116,7 +116,7 @@ describe UsersController do
it "returns success" do it "returns success" do
SiteSetting.login_required = true SiteSetting.login_required = true
get "/u/password-reset/#{token}" get "/u/password-reset/#{token}"
expect(response).to be_successful expect(response.status).to eq(200)
expect(CGI.unescapeHTML(response.body)).to include(I18n.t('password_reset.no_token')) expect(CGI.unescapeHTML(response.body)).to include(I18n.t('password_reset.no_token'))
end end
end end
@ -127,7 +127,7 @@ describe UsersController do
end end
it 'disallows login' do it 'disallows login' do
expect(response).to be_successful expect(response.status).to eq(200)
expect(CGI.unescapeHTML(response.body)) expect(CGI.unescapeHTML(response.body))
.to include(I18n.t('password_reset.no_token')) .to include(I18n.t('password_reset.no_token'))
@ -144,7 +144,7 @@ describe UsersController do
it 'disallows login' do it 'disallows login' do
get "/u/password-reset/ev!l_trout@!" get "/u/password-reset/ev!l_trout@!"
expect(response).to be_successful expect(response.status).to eq(200)
expect(CGI.unescapeHTML(response.body)) expect(CGI.unescapeHTML(response.body))
.to include(I18n.t('password_reset.no_token')) .to include(I18n.t('password_reset.no_token'))
@ -159,7 +159,7 @@ describe UsersController do
it "responds with proper error message" do it "responds with proper error message" do
put "/u/password-reset/evil_trout!.json", params: { password: "awesomeSecretPassword" } put "/u/password-reset/evil_trout!.json", params: { password: "awesomeSecretPassword" }
expect(response).to be_successful expect(response.status).to eq(200)
expect(JSON.parse(response.body)["message"]).to eq(I18n.t('password_reset.no_token')) expect(JSON.parse(response.body)["message"]).to eq(I18n.t('password_reset.no_token'))
expect(session[:current_user_id]).to be_blank expect(session[:current_user_id]).to be_blank
end end
@ -189,7 +189,7 @@ describe UsersController do
:user_logged_in, :user_first_logged_in :user_logged_in, :user_first_logged_in
) )
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.body).to include('{"is_developer":false,"admin":false,"second_factor_required":false}') expect(response.body).to include('{"is_developer":false,"admin":false,"second_factor_required":false}')
expect(session["password-#{token}"]).to be_blank expect(session["password-#{token}"]).to be_blank
@ -294,7 +294,7 @@ describe UsersController do
it "fails when the password is blank" do it "fails when the password is blank" do
put "/u/password-reset/#{token}.json", params: { password: '' } put "/u/password-reset/#{token}.json", params: { password: '' }
expect(response).to be_successful expect(response.status).to eq(200)
expect(JSON.parse(response.body)["errors"]).to be_present expect(JSON.parse(response.body)["errors"]).to be_present
expect(session[:current_user_id]).to be_blank expect(session[:current_user_id]).to be_blank
end end
@ -302,7 +302,7 @@ describe UsersController do
it "fails when the password is too long" do it "fails when the password is too long" do
put "/u/password-reset/#{token}.json", params: { password: ('x' * (User.max_password_length + 1)) } put "/u/password-reset/#{token}.json", params: { password: ('x' * (User.max_password_length + 1)) }
expect(response).to be_successful expect(response.status).to eq(200)
expect(JSON.parse(response.body)["errors"]).to be_present expect(JSON.parse(response.body)["errors"]).to be_present
expect(session[:current_user_id]).to be_blank expect(session[:current_user_id]).to be_blank
end end
@ -310,7 +310,7 @@ describe UsersController do
it "logs in the user" do it "logs in the user" do
put "/u/password-reset/#{token}.json", params: { password: 'ksjafh928r' } put "/u/password-reset/#{token}.json", params: { password: 'ksjafh928r' }
expect(response).to be_successful expect(response.status).to eq(200)
expect(JSON.parse(response.body)["errors"]).to be_blank expect(JSON.parse(response.body)["errors"]).to be_blank
expect(session[:current_user_id]).to be_present expect(session[:current_user_id]).to be_present
end end
@ -331,14 +331,14 @@ describe UsersController do
it "token doesn't match any records" do it "token doesn't match any records" do
email_token = user.email_tokens.create(email: user.email) email_token = user.email_tokens.create(email: user.email)
get "/u/confirm-email-token/#{SecureRandom.hex}.json" get "/u/confirm-email-token/#{SecureRandom.hex}.json"
expect(response).to be_successful expect(response.status).to eq(200)
expect(email_token.reload.confirmed).to eq(false) expect(email_token.reload.confirmed).to eq(false)
end end
it "token matches" do it "token matches" do
email_token = user.email_tokens.create(email: user.email) email_token = user.email_tokens.create(email: user.email)
get "/u/confirm-email-token/#{email_token.token}.json" get "/u/confirm-email-token/#{email_token.token}.json"
expect(response).to be_successful expect(response.status).to eq(200)
expect(email_token.reload.confirmed).to eq(true) expect(email_token.reload.confirmed).to eq(true)
end end
end end
@ -442,11 +442,11 @@ describe UsersController do
user.save! user.save!
post "/u/toggle-anon.json" post "/u/toggle-anon.json"
expect(response).to be_successful expect(response.status).to eq(200)
expect(session[:current_user_id]).to eq(AnonymousShadowCreator.get(user).id) expect(session[:current_user_id]).to eq(AnonymousShadowCreator.get(user).id)
post "/u/toggle-anon.json" post "/u/toggle-anon.json"
expect(response).to be_successful expect(response.status).to eq(200)
expect(session[:current_user_id]).to eq(user.id) expect(session[:current_user_id]).to eq(user.id)
end end
end end
@ -934,7 +934,7 @@ describe UsersController do
it "should succeed without the optional field" do it "should succeed without the optional field" do
post "/u.json", params: create_params post "/u.json", params: create_params
expect(response).to be_successful expect(response.status).to eq(200)
inserted = User.find_by_email(@user.email) inserted = User.find_by_email(@user.email)
expect(inserted).to be_present expect(inserted).to be_present
expect(inserted.custom_fields).to be_present expect(inserted.custom_fields).to be_present
@ -946,7 +946,7 @@ describe UsersController do
it "should succeed with the optional field" do it "should succeed with the optional field" do
create_params[:user_fields][optional_field.id.to_s] = 'value3' create_params[:user_fields][optional_field.id.to_s] = 'value3'
post "/u.json", params: create_params.merge(create_params) post "/u.json", params: create_params.merge(create_params)
expect(response).to be_successful expect(response.status).to eq(200)
inserted = User.find_by_email(@user.email) inserted = User.find_by_email(@user.email)
expect(inserted).to be_present expect(inserted).to be_present
expect(inserted.custom_fields).to be_present expect(inserted.custom_fields).to be_present
@ -958,7 +958,7 @@ describe UsersController do
it "trims excessively long fields" do it "trims excessively long fields" do
create_params[:user_fields][optional_field.id.to_s] = ('x' * 3000) create_params[:user_fields][optional_field.id.to_s] = ('x' * 3000)
post "/u.json", params: create_params.merge(create_params) post "/u.json", params: create_params.merge(create_params)
expect(response).to be_successful expect(response.status).to eq(200)
inserted = User.find_by_email(@user.email) inserted = User.find_by_email(@user.email)
val = inserted.custom_fields["user_field_#{optional_field.id}"] val = inserted.custom_fields["user_field_#{optional_field.id}"]
@ -980,7 +980,7 @@ describe UsersController do
it "should succeed" do it "should succeed" do
post "/u.json", params: create_params post "/u.json", params: create_params
expect(response).to be_successful expect(response.status).to eq(200)
inserted = User.find_by_email(@user.email) inserted = User.find_by_email(@user.email)
expect(inserted).to be_present expect(inserted).to be_present
expect(inserted.custom_fields).not_to be_present expect(inserted.custom_fields).not_to be_present
@ -1073,7 +1073,7 @@ describe UsersController do
it 'should succeed in normal circumstances' do it 'should succeed in normal circumstances' do
put "/u/#{user.username}/preferences/username.json", params: { new_username: new_username } put "/u/#{user.username}/preferences/username.json", params: { new_username: new_username }
expect(response).to be_successful expect(response.status).to eq(200)
expect(user.reload.username).to eq(new_username) expect(user.reload.username).to eq(new_username)
end end
@ -1097,7 +1097,7 @@ describe UsersController do
put "/u/#{user.username}/preferences/username.json", params: { new_username: new_username } put "/u/#{user.username}/preferences/username.json", params: { new_username: new_username }
expect(response).to be_successful expect(response.status).to eq(200)
expect(UserHistory.where(action: UserHistory.actions[:change_username], target_user_id: user.id, acting_user_id: acting_user.id)).to be_present expect(UserHistory.where(action: UserHistory.actions[:change_username], target_user_id: user.id, acting_user_id: acting_user.id)).to be_present
expect(user.reload.username).to eq(new_username) expect(user.reload.username).to eq(new_username)
end end
@ -1221,7 +1221,7 @@ describe UsersController do
user = Fabricate(:user) user = Fabricate(:user)
get "/u/#{user.username}/invited.json", params: { username: user.username } get "/u/#{user.username}/invited.json", params: { username: user.username }
expect(response).to be_successful expect(response.status).to eq(200)
end end
it 'filters by email' do it 'filters by email' do
@ -1366,14 +1366,14 @@ describe UsersController do
it "should be able to update a user" do it "should be able to update a user" do
put "/u/#{user.username}.json", params: { name: 'test.test' } put "/u/#{user.username}.json", params: { name: 'test.test' }
expect(response).to be_successful expect(response.status).to eq(200)
expect(user.reload.name).to eq('test.test') expect(user.reload.name).to eq('test.test')
end end
it "should be able to update a user" do it "should be able to update a user" do
put "/u/#{user.username}.json", params: { name: 'testing123' } put "/u/#{user.username}.json", params: { name: 'testing123' }
expect(response).to be_successful expect(response.status).to eq(200)
expect(user.reload.name).to eq('testing123') expect(user.reload.name).to eq('testing123')
end end
end end
@ -1391,7 +1391,7 @@ describe UsersController do
user_fields: { user_field.id.to_s => 'happy' } user_fields: { user_field.id.to_s => 'happy' }
} }
expect(response).to be_successful expect(response.status).to eq(200)
user.reload user.reload
@ -1417,7 +1417,7 @@ describe UsersController do
watched_tags: "#{tags[0].name},#{tags[1].name}" watched_tags: "#{tags[0].name},#{tags[1].name}"
} }
expect(response).to be_successful expect(response.status).to eq(200)
user.reload user.reload
@ -1460,7 +1460,7 @@ describe UsersController do
it "should update the user field" do it "should update the user field" do
put "/u/#{user.username}.json", params: { name: 'Jim Tom', user_fields: { user_field.id.to_s => 'happy' } } put "/u/#{user.username}.json", params: { name: 'Jim Tom', user_fields: { user_field.id.to_s => 'happy' } }
expect(response).to be_successful expect(response.status).to eq(200)
expect(user.user_fields[user_field.id.to_s]).to eq 'happy' expect(user.user_fields[user_field.id.to_s]).to eq 'happy'
end end
@ -1480,13 +1480,13 @@ describe UsersController do
it "should retain existing user fields" do it "should retain existing user fields" do
put "/u/#{user.username}.json", params: { name: 'Jim Tom', user_fields: { user_field.id.to_s => 'happy', optional_field.id.to_s => 'feet' } } put "/u/#{user.username}.json", params: { name: 'Jim Tom', user_fields: { user_field.id.to_s => 'happy', optional_field.id.to_s => 'feet' } }
expect(response).to be_successful expect(response.status).to eq(200)
expect(user.user_fields[user_field.id.to_s]).to eq('happy') expect(user.user_fields[user_field.id.to_s]).to eq('happy')
expect(user.user_fields[optional_field.id.to_s]).to eq('feet') expect(user.user_fields[optional_field.id.to_s]).to eq('feet')
put "/u/#{user.username}.json", params: { name: 'Jim Tom', user_fields: { user_field.id.to_s => 'sad' } } put "/u/#{user.username}.json", params: { name: 'Jim Tom', user_fields: { user_field.id.to_s => 'sad' } }
expect(response).to be_successful expect(response.status).to eq(200)
user.reload user.reload
@ -1501,7 +1501,7 @@ describe UsersController do
it "does not update the user field" do it "does not update the user field" do
put "/u/#{user.username}.json", params: { name: 'Jim Tom', user_fields: { user_field.id.to_s => 'happy' } } put "/u/#{user.username}.json", params: { name: 'Jim Tom', user_fields: { user_field.id.to_s => 'happy' } }
expect(response).to be_successful expect(response.status).to eq(200)
expect(user.user_fields[user_field.id.to_s]).to be_blank expect(user.user_fields[user_field.id.to_s]).to be_blank
end end
end end
@ -1748,7 +1748,7 @@ describe UsersController do
it 'can successfully pick the system avatar' do it 'can successfully pick the system avatar' do
put "/u/#{user.username}/preferences/avatar/pick.json" put "/u/#{user.username}/preferences/avatar/pick.json"
expect(response).to be_successful expect(response.status).to eq(200)
expect(user.reload.uploaded_avatar_id).to eq(nil) expect(user.reload.uploaded_avatar_id).to eq(nil)
end end
@ -1757,7 +1757,7 @@ describe UsersController do
upload_id: upload.id, type: "gravatar" upload_id: upload.id, type: "gravatar"
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(user.reload.uploaded_avatar_id).to eq(upload.id) expect(user.reload.uploaded_avatar_id).to eq(upload.id)
expect(user.user_avatar.reload.gravatar_upload_id).to eq(upload.id) expect(user.user_avatar.reload.gravatar_upload_id).to eq(upload.id)
end end
@ -1767,7 +1767,7 @@ describe UsersController do
upload_id: upload.id, type: "custom" upload_id: upload.id, type: "custom"
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(user.reload.uploaded_avatar_id).to eq(upload.id) expect(user.reload.uploaded_avatar_id).to eq(upload.id)
expect(user.user_avatar.reload.custom_upload_id).to eq(upload.id) expect(user.user_avatar.reload.custom_upload_id).to eq(upload.id)
end end
@ -1807,7 +1807,7 @@ describe UsersController do
delete "/u/#{user.username}/preferences/user_image.json", params: { type: 'profile_background' } delete "/u/#{user.username}/preferences/user_image.json", params: { type: 'profile_background' }
expect(user.reload.user_profile.profile_background).to eq("") expect(user.reload.user_profile.profile_background).to eq("")
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
end end
@ -1843,7 +1843,7 @@ describe UsersController do
it "deletes your account when you're allowed to" do it "deletes your account when you're allowed to" do
UserDestroyer.any_instance.expects(:destroy).with(user, anything).returns(user) UserDestroyer.any_instance.expects(:destroy).with(user, anything).returns(user)
delete "/u/#{user.username}.json" delete "/u/#{user.username}.json"
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
end end
@ -1894,7 +1894,7 @@ describe UsersController do
get "/u/#{Fabricate(:user).username}/emails.json" get "/u/#{Fabricate(:user).username}/emails.json"
expect(response).to be_successful expect(response.status).to eq(200)
json = JSON.parse(response.body) json = JSON.parse(response.body)
expect(json["email"]).to be_present expect(json["email"]).to be_present
expect(json["associated_accounts"]).to be_present expect(json["associated_accounts"]).to be_present
@ -1906,7 +1906,7 @@ describe UsersController do
get "/u/#{inactive_user.username}/emails.json" get "/u/#{inactive_user.username}/emails.json"
expect(response).to be_successful expect(response.status).to eq(200)
json = JSON.parse(response.body) json = JSON.parse(response.body)
expect(json["email"]).to be_present expect(json["email"]).to be_present
expect(json["associated_accounts"]).to be_present expect(json["associated_accounts"]).to be_present
@ -2034,7 +2034,7 @@ describe UsersController do
create_post(user: user) create_post(user: user)
get "/u/#{user.username_lower}/summary.json" get "/u/#{user.username_lower}/summary.json"
expect(response).to be_successful expect(response.status).to eq(200)
json = JSON.parse(response.body) json = JSON.parse(response.body)
expect(json["user_summary"]["topic_count"]).to eq(1) expect(json["user_summary"]["topic_count"]).to eq(1)
@ -2058,7 +2058,7 @@ describe UsersController do
ac = AdminConfirmation.new(user, Fabricate(:admin)) ac = AdminConfirmation.new(user, Fabricate(:admin))
ac.create_confirmation ac.create_confirmation
get "/u/confirm-admin/#{ac.token}.josn" get "/u/confirm-admin/#{ac.token}.josn"
expect(response).to be_successful expect(response.status).to eq(200)
user.reload user.reload
expect(user.admin?).to eq(false) expect(user.admin?).to eq(false)
@ -2071,7 +2071,7 @@ describe UsersController do
ac = AdminConfirmation.new(user, admin) ac = AdminConfirmation.new(user, admin)
ac.create_confirmation ac.create_confirmation
get "/u/confirm-admin/#{ac.token}.josn", params: { token: ac.token } get "/u/confirm-admin/#{ac.token}.josn", params: { token: ac.token }
expect(response).to be_successful expect(response.status).to eq(200)
user.reload user.reload
expect(user.admin?).to eq(false) expect(user.admin?).to eq(false)
@ -2096,7 +2096,7 @@ describe UsersController do
ac = AdminConfirmation.new(user, Fabricate(:admin)) ac = AdminConfirmation.new(user, Fabricate(:admin))
ac.create_confirmation ac.create_confirmation
post "/u/confirm-admin/#{ac.token}.josn" post "/u/confirm-admin/#{ac.token}.josn"
expect(response).to be_successful expect(response.status).to eq(200)
user.reload user.reload
expect(user.admin?).to eq(true) expect(user.admin?).to eq(true)
@ -2285,7 +2285,7 @@ describe UsersController do
it "returns success" do it "returns success" do
get "/u/#{user.username}.json" get "/u/#{user.username}.json"
expect(response).to be_successful expect(response.status).to eq(200)
expect(JSON.parse(response.body)["user"]["username"]).to eq(user.username) expect(JSON.parse(response.body)["user"]["username"]).to eq(user.username)
end end
@ -2320,7 +2320,7 @@ describe UsersController do
it 'returns success' do it 'returns success' do
get "/u/#{user.username}.json" get "/u/#{user.username}.json"
expect(response).to be_successful expect(response.status).to eq(200)
json = JSON.parse(response.body) json = JSON.parse(response.body)
expect(json["user"]["has_title_badges"]).to eq(false) expect(json["user"]["has_title_badges"]).to eq(false)
@ -2341,7 +2341,7 @@ describe UsersController do
SiteSetting.show_inactive_accounts = true SiteSetting.show_inactive_accounts = true
inactive = Fabricate(:user, active: false) inactive = Fabricate(:user, active: false)
get "/u/#{inactive.username}.json" get "/u/#{inactive.username}.json"
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "raises an error on invalid access" do it "raises an error on invalid access" do
@ -2374,7 +2374,7 @@ describe UsersController do
it "returns fetch for a matching external_id" do it "returns fetch for a matching external_id" do
get "/u/by-external/997.json" get "/u/by-external/997.json"
expect(response).to be_successful expect(response.status).to eq(200)
expect(JSON.parse(response.body)["user"]["username"]).to eq(user.username) expect(JSON.parse(response.body)["user"]["username"]).to eq(user.username)
end end
@ -2414,7 +2414,7 @@ describe UsersController do
it "should be able to view a user" do it "should be able to view a user" do
get "/u/#{user.username}" get "/u/#{user.username}"
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.body).to include(user.username) expect(response.body).to include(user.username)
end end
@ -2426,7 +2426,7 @@ describe UsersController do
it "should be able to view a user" do it "should be able to view a user" do
get "/u/#{user.username}" get "/u/#{user.username}"
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.body).to include(user.username) expect(response.body).to include(user.username)
end end
end end
@ -2435,7 +2435,7 @@ describe UsersController do
describe '#badges' do describe '#badges' do
it "renders fine by default" do it "renders fine by default" do
get "/u/#{user.username}/badges" get "/u/#{user.username}/badges"
expect(response).to be_successful expect(response.status).to eq(200)
end end
it "fails if badges are disabled" do it "fails if badges are disabled" do
@ -2449,7 +2449,7 @@ describe UsersController do
it "returns a message when no session is present" do it "returns a message when no session is present" do
get "/u/account-created" get "/u/account-created"
expect(response).to be_successful expect(response.status).to eq(200)
body = response.body body = response.body
@ -2470,7 +2470,7 @@ describe UsersController do
user = create_user user = create_user
get "/u/account-created" get "/u/account-created"
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.body).to include( expect(response.body).to include(
"{\"message\":\"#{I18n.t("login.activate_email", email: user.email).gsub!("</", "<\\/")}\",\"show_controls\":true,\"username\":\"#{user.username}\",\"email\":\"#{user.email}\"}" "{\"message\":\"#{I18n.t("login.activate_email", email: user.email).gsub!("</", "<\\/")}\",\"show_controls\":true,\"username\":\"#{user.username}\",\"email\":\"#{user.email}\"}"
@ -2491,14 +2491,14 @@ describe UsersController do
it "searches when provided the term only" do it "searches when provided the term only" do
get "/u/search/users.json", params: { term: user.name.split(" ").last } get "/u/search/users.json", params: { term: user.name.split(" ").last }
expect(response).to be_successful expect(response.status).to eq(200)
json = JSON.parse(response.body) json = JSON.parse(response.body)
expect(json["users"].map { |u| u["username"] }).to include(user.username) expect(json["users"].map { |u| u["username"] }).to include(user.username)
end end
it "searches when provided the topic only" do it "searches when provided the topic only" do
get "/u/search/users.json", params: { topic_id: topic.id } get "/u/search/users.json", params: { topic_id: topic.id }
expect(response).to be_successful expect(response.status).to eq(200)
json = JSON.parse(response.body) json = JSON.parse(response.body)
expect(json["users"].map { |u| u["username"] }).to include(user.username) expect(json["users"].map { |u| u["username"] }).to include(user.username)
end end
@ -2508,7 +2508,7 @@ describe UsersController do
term: user.name.split(" ").last, topic_id: topic.id term: user.name.split(" ").last, topic_id: topic.id
} }
expect(response).to be_successful expect(response.status).to eq(200)
json = JSON.parse(response.body) json = JSON.parse(response.body)
expect(json["users"].map { |u| u["username"] }).to include(user.username) expect(json["users"].map { |u| u["username"] }).to include(user.username)
end end
@ -2529,7 +2529,7 @@ describe UsersController do
term: user.name.split(" ").last, topic_id: private_topic.id, topic_allowed_users: "true" term: user.name.split(" ").last, topic_id: private_topic.id, topic_allowed_users: "true"
} }
expect(response).to be_successful expect(response.status).to eq(200)
json = JSON.parse(response.body) json = JSON.parse(response.body)
expect(json["users"].map { |u| u["username"] }).to_not include(user.username) expect(json["users"].map { |u| u["username"] }).to_not include(user.username)
expect(json["users"].map { |u| u["username"] }).to include(privileged_user.username) expect(json["users"].map { |u| u["username"] }).to include(privileged_user.username)
@ -2591,7 +2591,7 @@ describe UsersController do
it "only returns visible groups" do it "only returns visible groups" do
get "/u/search/users.json", params: { include_groups: "true" } get "/u/search/users.json", params: { include_groups: "true" }
expect(response).to be_successful expect(response.status).to eq(200)
groups = JSON.parse(response.body)["groups"] groups = JSON.parse(response.body)["groups"]
@ -2605,7 +2605,7 @@ describe UsersController do
include_messageable_groups: 'false' include_messageable_groups: 'false'
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(JSON.parse(response.body)).not_to have_key(:groups) expect(JSON.parse(response.body)).not_to have_key(:groups)
end end
@ -2615,7 +2615,7 @@ describe UsersController do
include_messageable_groups: 'true' include_messageable_groups: 'true'
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(JSON.parse(response.body)["groups"].map { |group| group['name'] }) expect(JSON.parse(response.body)["groups"].map { |group| group['name'] })
.to contain_exactly(messageable_group.name, Group.find(Group::AUTO_GROUPS[:moderators]).name) .to contain_exactly(messageable_group.name, Group.find(Group::AUTO_GROUPS[:moderators]).name)
@ -2627,7 +2627,7 @@ describe UsersController do
include_mentionable_groups: 'true' include_mentionable_groups: 'true'
} }
expect(response).to be_successful expect(response.status).to eq(200)
groups = JSON.parse(response.body)["groups"] groups = JSON.parse(response.body)["groups"]
@ -2643,7 +2643,7 @@ describe UsersController do
include_messageable_groups: 'false' include_messageable_groups: 'false'
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(JSON.parse(response.body)).not_to have_key(:groups) expect(JSON.parse(response.body)).not_to have_key(:groups)
get "/u/search/users.json", params: { get "/u/search/users.json", params: {
@ -2651,7 +2651,7 @@ describe UsersController do
include_messageable_groups: 'true' include_messageable_groups: 'true'
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(JSON.parse(response.body)).not_to have_key(:groups) expect(JSON.parse(response.body)).not_to have_key(:groups)
get "/u/search/users.json", params: { get "/u/search/users.json", params: {
@ -2659,7 +2659,7 @@ describe UsersController do
include_mentionable_groups: 'true' include_mentionable_groups: 'true'
} }
expect(response).to be_successful expect(response.status).to eq(200)
expect(JSON.parse(response.body)).not_to have_key(:groups) expect(JSON.parse(response.body)).not_to have_key(:groups)
end end
end end
@ -2687,7 +2687,7 @@ describe UsersController do
it "enqueues the right email" do it "enqueues the right email" do
post "/u/email-login.json", params: { login: user.email } post "/u/email-login.json", params: { login: user.email }
expect(response).to be_successful expect(response.status).to eq(200)
expect(JSON.parse(response.body)['user_found']).to eq(true) expect(JSON.parse(response.body)['user_found']).to eq(true)
job_args = Jobs::CriticalUserEmail.jobs.last["args"].first job_args = Jobs::CriticalUserEmail.jobs.last["args"].first
@ -2713,7 +2713,7 @@ describe UsersController do
it 'should not enqueue the email to login' do it 'should not enqueue the email to login' do
post "/u/email-login.json", params: { login: '@random' } post "/u/email-login.json", params: { login: '@random' }
expect(response).to be_successful expect(response.status).to eq(200)
expect(JSON.parse(response.body)['user_found']).to eq(false) expect(JSON.parse(response.body)['user_found']).to eq(false)
expect(Jobs::CriticalUserEmail.jobs).to eq([]) expect(Jobs::CriticalUserEmail.jobs).to eq([])
end end
@ -2724,7 +2724,7 @@ describe UsersController do
SiteSetting.hide_email_address_taken = true SiteSetting.hide_email_address_taken = true
post "/u/email-login.json", params: { login: user.email } post "/u/email-login.json", params: { login: user.email }
expect(response).to be_successful expect(response.status).to eq(200)
expect(JSON.parse(response.body).has_key?('user_found')).to eq(false) expect(JSON.parse(response.body).has_key?('user_found')).to eq(false)
end end
end end

View File

@ -6,7 +6,7 @@ describe UsersEmailController do
it 'errors out for invalid tokens' do it 'errors out for invalid tokens' do
get "/u/authorize-email/asdfasdf" get "/u/authorize-email/asdfasdf"
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.body).to include(I18n.t('change_email.already_done')) expect(response.body).to include(I18n.t('change_email.already_done'))
end end
@ -21,7 +21,7 @@ describe UsersEmailController do
it 'confirms with a correct token' do it 'confirms with a correct token' do
get "/u/authorize-email/#{user.email_tokens.last.token}" get "/u/authorize-email/#{user.email_tokens.last.token}"
expect(response).to be_successful expect(response.status).to eq(200)
body = CGI.unescapeHTML(response.body) body = CGI.unescapeHTML(response.body)
@ -52,7 +52,7 @@ describe UsersEmailController do
:user_logged_in, :user_first_logged_in :user_logged_in, :user_first_logged_in
) )
expect(response).to be_successful expect(response.status).to eq(200)
expect(response.body).to include(I18n.t('change_email.confirmed')) expect(response.body).to include(I18n.t('change_email.confirmed'))
user.reload user.reload
@ -66,7 +66,7 @@ describe UsersEmailController do
get "/u/authorize-email/#{user.email_tokens.last.token}" get "/u/authorize-email/#{user.email_tokens.last.token}"
expect(response).to be_successful expect(response.status).to eq(200)
expect(group.reload.users.include?(user)).to eq(true) expect(group.reload.users.include?(user)).to eq(true)
end end
@ -171,7 +171,7 @@ describe UsersEmailController do
email: other_user.email email: other_user.email
} }
expect(response).to be_successful expect(response.status).to eq(200)
end end
end end
end end

View File

@ -27,7 +27,7 @@ describe WebhooksController do
"signature" => signature "signature" => signature
} }
expect(response).to be_successful expect(response.status).to eq(200)
email_log.reload email_log.reload
expect(email_log.bounced).to eq(true) expect(email_log.bounced).to eq(true)
@ -51,7 +51,7 @@ describe WebhooksController do
] ]
} }
expect(response).to be_successful expect(response.status).to eq(200)
email_log.reload email_log.reload
expect(email_log.bounced).to eq(true) expect(email_log.bounced).to eq(true)
@ -71,7 +71,7 @@ describe WebhooksController do
"CustomID" => message_id "CustomID" => message_id
} }
expect(response).to be_successful expect(response.status).to eq(200)
email_log.reload email_log.reload
expect(email_log.bounced).to eq(true) expect(email_log.bounced).to eq(true)
@ -96,7 +96,7 @@ describe WebhooksController do
}] }]
} }
expect(response).to be_successful expect(response.status).to eq(200)
email_log.reload email_log.reload
expect(email_log.bounced).to eq(true) expect(email_log.bounced).to eq(true)
@ -123,7 +123,7 @@ describe WebhooksController do
}] }]
} }
expect(response).to be_successful expect(response.status).to eq(200)
email_log.reload email_log.reload
expect(email_log.bounced).to eq(true) expect(email_log.bounced).to eq(true)

View File

@ -2,7 +2,7 @@ module IntegrationHelpers
def create_user def create_user
get "/u/hp.json" get "/u/hp.json"
expect(response).to be_successful expect(response.status).to eq(200)
body = JSON.parse(response.body) body = JSON.parse(response.body)
honeypot = body["value"] honeypot = body["value"]
@ -17,7 +17,7 @@ module IntegrationHelpers
challenge: challenge.reverse challenge: challenge.reverse
} }
expect(response).to be_successful expect(response.status).to eq(200)
body = JSON.parse(response.body) body = JSON.parse(response.body)
User.find(body["user_id"]) User.find(body["user_id"])