Spec coverage for api/v1/trends controllers (#27837)
				
					
				
			This commit is contained in:
		
							parent
							
								
									0c98a9d9be
								
							
						
					
					
						commit
						a36b59be8a
					
				| @ -2,14 +2,44 @@ | ||||
| 
 | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| describe Api::V1::Trends::LinksController do | ||||
| RSpec.describe Api::V1::Trends::LinksController do | ||||
|   render_views | ||||
| 
 | ||||
|   describe 'GET #index' do | ||||
|     it 'returns http success' do | ||||
|       get :index | ||||
|     around do |example| | ||||
|       previous = Setting.trends | ||||
|       example.run | ||||
|       Setting.trends = previous | ||||
|     end | ||||
| 
 | ||||
|       expect(response).to have_http_status(200) | ||||
|     context 'when trends are disabled' do | ||||
|       before { Setting.trends = false } | ||||
| 
 | ||||
|       it 'returns http success' do | ||||
|         get :index | ||||
| 
 | ||||
|         expect(response).to have_http_status(200) | ||||
|       end | ||||
|     end | ||||
| 
 | ||||
|     context 'when trends are enabled' do | ||||
|       before { Setting.trends = true } | ||||
| 
 | ||||
|       it 'returns http success' do | ||||
|         prepare_trends | ||||
|         stub_const('Api::V1::Trends::LinksController::DEFAULT_LINKS_LIMIT', 2) | ||||
|         get :index | ||||
| 
 | ||||
|         expect(response).to have_http_status(200) | ||||
|         expect(response.headers).to include('Link') | ||||
|       end | ||||
| 
 | ||||
|       def prepare_trends | ||||
|         Fabricate.times(3, :preview_card, trendable: true, language: 'en').each do |link| | ||||
|           2.times { |i| Trends.links.add(link, i) } | ||||
|         end | ||||
|         Trends::Links.new(threshold: 1).refresh | ||||
|       end | ||||
|     end | ||||
|   end | ||||
| end | ||||
|  | ||||
| @ -2,14 +2,44 @@ | ||||
| 
 | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| describe Api::V1::Trends::StatusesController do | ||||
| RSpec.describe Api::V1::Trends::StatusesController do | ||||
|   render_views | ||||
| 
 | ||||
|   describe 'GET #index' do | ||||
|     it 'returns http success' do | ||||
|       get :index | ||||
|     around do |example| | ||||
|       previous = Setting.trends | ||||
|       example.run | ||||
|       Setting.trends = previous | ||||
|     end | ||||
| 
 | ||||
|       expect(response).to have_http_status(200) | ||||
|     context 'when trends are disabled' do | ||||
|       before { Setting.trends = false } | ||||
| 
 | ||||
|       it 'returns http success' do | ||||
|         get :index | ||||
| 
 | ||||
|         expect(response).to have_http_status(200) | ||||
|       end | ||||
|     end | ||||
| 
 | ||||
|     context 'when trends are enabled' do | ||||
|       before { Setting.trends = true } | ||||
| 
 | ||||
|       it 'returns http success' do | ||||
|         prepare_trends | ||||
|         stub_const('Api::BaseController::DEFAULT_STATUSES_LIMIT', 2) | ||||
|         get :index | ||||
| 
 | ||||
|         expect(response).to have_http_status(200) | ||||
|         expect(response.headers).to include('Link') | ||||
|       end | ||||
| 
 | ||||
|       def prepare_trends | ||||
|         Fabricate.times(3, :status, trendable: true, language: 'en').each do |status| | ||||
|           2.times { |i| Trends.statuses.add(status, i) } | ||||
|         end | ||||
|         Trends::Statuses.new(threshold: 1, decay_threshold: -1).refresh | ||||
|       end | ||||
|     end | ||||
|   end | ||||
| end | ||||
|  | ||||
| @ -6,16 +6,41 @@ RSpec.describe Api::V1::Trends::TagsController do | ||||
|   render_views | ||||
| 
 | ||||
|   describe 'GET #index' do | ||||
|     before do | ||||
|       Fabricate.times(10, :tag).each do |tag| | ||||
|         10.times { |i| Trends.tags.add(tag, i) } | ||||
|       end | ||||
| 
 | ||||
|       get :index | ||||
|     around do |example| | ||||
|       previous = Setting.trends | ||||
|       example.run | ||||
|       Setting.trends = previous | ||||
|     end | ||||
| 
 | ||||
|     it 'returns http success' do | ||||
|       expect(response).to have_http_status(200) | ||||
|     context 'when trends are disabled' do | ||||
|       before { Setting.trends = false } | ||||
| 
 | ||||
|       it 'returns http success' do | ||||
|         get :index | ||||
| 
 | ||||
|         expect(response).to have_http_status(200) | ||||
|         expect(response.headers).to_not include('Link') | ||||
|       end | ||||
|     end | ||||
| 
 | ||||
|     context 'when trends are enabled' do | ||||
|       before { Setting.trends = true } | ||||
| 
 | ||||
|       it 'returns http success' do | ||||
|         prepare_trends | ||||
|         stub_const('Api::V1::Trends::TagsController::DEFAULT_TAGS_LIMIT', 2) | ||||
|         get :index | ||||
| 
 | ||||
|         expect(response).to have_http_status(200) | ||||
|         expect(response.headers).to include('Link') | ||||
|       end | ||||
| 
 | ||||
|       def prepare_trends | ||||
|         Fabricate.times(3, :tag, trendable: true).each do |tag| | ||||
|           2.times { |i| Trends.tags.add(tag, i) } | ||||
|         end | ||||
|         Trends::Tags.new(threshold: 1).refresh | ||||
|       end | ||||
|     end | ||||
|   end | ||||
| end | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user