FIX: Properly support defaults for upload site settings.

This commit is contained in:
Guo Xiang Tan
2019-01-02 15:29:17 +08:00
parent 684eef71c7
commit b0c8fdd7da
26 changed files with 170 additions and 151 deletions

View File

@ -51,31 +51,49 @@ describe Admin::SiteSettingsController do
expect(SiteSetting.test_setting).to eq('')
end
it 'allows upload site settings to be updated' do
upload = Fabricate(:upload)
describe 'upload site settings' do
it 'can remove the site setting' do
SiteSetting.test_upload = Fabricate(:upload)
put "/admin/site_settings/test_upload.json", params: {
test_upload: upload.url
}
put "/admin/site_settings/test_upload.json", params: {
test_upload: nil
}
expect(response.status).to eq(200)
expect(SiteSetting.test_upload).to eq(upload)
expect(response.status).to eq(200)
expect(SiteSetting.test_upload).to eq(nil)
end
user_history = UserHistory.last
it 'can reset the site setting to the default' do
SiteSetting.test_upload = nil
default_upload = Upload.find(-1)
expect(user_history.action).to eq(
UserHistory.actions[:change_site_setting]
)
put "/admin/site_settings/test_upload.json", params: {
test_upload: default_upload.url
}
expect(user_history.previous_value).to eq(nil)
expect(user_history.new_value).to eq(upload.url)
expect(response.status).to eq(200)
expect(SiteSetting.test_upload).to eq(default_upload)
end
put "/admin/site_settings/test_upload.json", params: {
test_upload: nil
}
it 'can update the site setting' do
upload = Fabricate(:upload)
expect(response.status).to eq(200)
expect(SiteSetting.test_upload).to eq(nil)
put "/admin/site_settings/test_upload.json", params: {
test_upload: upload.url
}
expect(response.status).to eq(200)
expect(SiteSetting.test_upload).to eq(upload)
user_history = UserHistory.last
expect(user_history.action).to eq(
UserHistory.actions[:change_site_setting]
)
expect(user_history.previous_value).to eq(nil)
expect(user_history.new_value).to eq(upload.url)
end
end
it 'logs the change' do