mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 22:43:33 +08:00
REFACTOR: metadata controller specs to requests (#5935)
This commit is contained in:

committed by
Guo Xiang Tan

parent
1957cb541b
commit
9975f9751e
51
spec/requests/metadata_controller_spec.rb
Normal file
51
spec/requests/metadata_controller_spec.rb
Normal file
@ -0,0 +1,51 @@
|
||||
require 'rails_helper'
|
||||
|
||||
RSpec.describe MetadataController do
|
||||
describe 'manifest.json' do
|
||||
it 'returns the right output' do
|
||||
title = 'MyApp'
|
||||
SiteSetting.title = title
|
||||
SiteSetting.large_icon_url = "http://big.square/png"
|
||||
|
||||
get "/manifest.json"
|
||||
expect(response.status).to eq(200)
|
||||
expect(response.content_type).to eq('application/json')
|
||||
manifest = JSON.parse(response.body)
|
||||
|
||||
expect(manifest["name"]).to eq(title)
|
||||
expect(manifest["icons"].first["src"]).to eq("http://big.square/png")
|
||||
end
|
||||
|
||||
it 'can guess mime types' do
|
||||
SiteSetting.large_icon_url = "http://big.square/ico.jpg"
|
||||
get "/manifest.json"
|
||||
expect(response.status).to eq(200)
|
||||
manifest = JSON.parse(response.body)
|
||||
expect(manifest["icons"].first["type"]).to eq("image/jpeg")
|
||||
end
|
||||
|
||||
it 'defaults to png' do
|
||||
SiteSetting.large_icon_url = "http://big.square/noidea.bogus"
|
||||
get "/manifest.json"
|
||||
expect(response.status).to eq(200)
|
||||
manifest = JSON.parse(response.body)
|
||||
expect(manifest["icons"].first["type"]).to eq("image/png")
|
||||
end
|
||||
end
|
||||
|
||||
describe 'opensearch.xml' do
|
||||
it 'returns the right output' do
|
||||
title = 'MyApp'
|
||||
favicon_path = '/uploads/something/23432.png'
|
||||
SiteSetting.title = title
|
||||
SiteSetting.favicon_url = favicon_path
|
||||
get "/opensearch.xml"
|
||||
expect(response.status).to eq(200)
|
||||
expect(response.body).to include(title)
|
||||
expect(response.body).to include("/search?q={searchTerms}")
|
||||
expect(response.body).to include('image/png')
|
||||
expect(response.body).to include(favicon_path)
|
||||
expect(response.content_type).to eq('application/xml')
|
||||
end
|
||||
end
|
||||
end
|
Reference in New Issue
Block a user