2019-04-30 08:27:42 +08:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2016-08-12 15:10:08 +08:00
|
|
|
require 'rails_helper'
|
|
|
|
|
|
|
|
describe SiteController do
|
2018-11-14 15:03:02 +08:00
|
|
|
describe '#basic_info' do
|
2016-08-12 15:10:08 +08:00
|
|
|
it 'is visible always even for sites requiring login' do
|
2018-11-14 15:03:02 +08:00
|
|
|
upload = Fabricate(:upload)
|
2016-08-12 15:10:08 +08:00
|
|
|
|
2018-11-14 15:03:02 +08:00
|
|
|
SiteSetting.login_required = true
|
2016-08-12 15:10:08 +08:00
|
|
|
SiteSetting.title = "Hammer Time"
|
|
|
|
SiteSetting.site_description = "A time for Hammer"
|
2018-11-14 15:03:02 +08:00
|
|
|
SiteSetting.logo = upload
|
|
|
|
SiteSetting.logo_small = upload
|
|
|
|
SiteSetting.apple_touch_icon = upload
|
|
|
|
SiteSetting.mobile_logo = upload
|
2018-10-09 07:03:05 +08:00
|
|
|
Theme.clear_default!
|
2016-08-12 15:10:08 +08:00
|
|
|
|
2018-06-06 11:32:03 +08:00
|
|
|
get "/site/basic-info.json"
|
2020-05-07 23:04:12 +08:00
|
|
|
json = response.parsed_body
|
2016-08-12 15:10:08 +08:00
|
|
|
|
2018-11-14 15:03:02 +08:00
|
|
|
expected_url = UrlHelper.absolute(upload.url)
|
|
|
|
|
2016-08-12 15:10:08 +08:00
|
|
|
expect(json["title"]).to eq("Hammer Time")
|
|
|
|
expect(json["description"]).to eq("A time for Hammer")
|
2018-11-14 15:03:02 +08:00
|
|
|
expect(json["logo_url"]).to eq(expected_url)
|
|
|
|
expect(json["apple_touch_icon_url"]).to eq(expected_url)
|
|
|
|
expect(json["logo_small_url"]).to eq(expected_url)
|
|
|
|
expect(json["mobile_logo_url"]).to eq(expected_url)
|
2018-10-08 17:52:57 +08:00
|
|
|
expect(json["header_primary_color"]).to eq("333333")
|
|
|
|
expect(json["header_background_color"]).to eq("ffffff")
|
2021-08-18 02:05:51 +08:00
|
|
|
expect(json["login_required"]).to eq(true)
|
2016-08-12 15:10:08 +08:00
|
|
|
end
|
|
|
|
end
|
2017-03-10 21:16:00 +08:00
|
|
|
|
2018-11-14 15:03:02 +08:00
|
|
|
describe '#statistics' do
|
2017-03-10 21:16:00 +08:00
|
|
|
it 'is visible for sites requiring login' do
|
|
|
|
SiteSetting.login_required = true
|
|
|
|
SiteSetting.share_anonymized_statistics = true
|
|
|
|
|
2018-06-06 11:32:03 +08:00
|
|
|
get "/site/statistics.json"
|
2020-05-07 23:04:12 +08:00
|
|
|
json = response.parsed_body
|
2017-03-10 21:16:00 +08:00
|
|
|
|
2018-06-07 16:11:09 +08:00
|
|
|
expect(response.status).to eq(200)
|
2017-03-10 21:16:00 +08:00
|
|
|
expect(json["topic_count"]).to be_present
|
|
|
|
expect(json["post_count"]).to be_present
|
|
|
|
expect(json["user_count"]).to be_present
|
|
|
|
expect(json["topics_7_days"]).to be_present
|
|
|
|
expect(json["topics_30_days"]).to be_present
|
|
|
|
expect(json["posts_7_days"]).to be_present
|
|
|
|
expect(json["posts_30_days"]).to be_present
|
|
|
|
expect(json["users_7_days"]).to be_present
|
|
|
|
expect(json["users_30_days"]).to be_present
|
|
|
|
expect(json["active_users_7_days"]).to be_present
|
|
|
|
expect(json["active_users_30_days"]).to be_present
|
|
|
|
expect(json["like_count"]).to be_present
|
|
|
|
expect(json["likes_7_days"]).to be_present
|
|
|
|
expect(json["likes_30_days"]).to be_present
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'is not visible if site setting share_anonymized_statistics is disabled' do
|
|
|
|
SiteSetting.share_anonymized_statistics = false
|
|
|
|
|
2018-06-06 11:32:03 +08:00
|
|
|
get "/site/statistics.json"
|
2017-03-10 21:16:00 +08:00
|
|
|
expect(response).to redirect_to '/'
|
|
|
|
end
|
|
|
|
end
|
2016-08-12 15:10:08 +08:00
|
|
|
end
|