mirror of https://github.com/mastodon/mastodon
Refactor and spec coverage for api/v1/timelines actions (#3482)
parent
bd669e3907
commit
d6774d2ca3
@ -1,30 +0,0 @@
|
|||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
module Api::V1::Timelines
|
|
||||||
class BaseController < ApiController
|
|
||||||
respond_to :json
|
|
||||||
after_action :insert_pagination_headers, unless: -> { @statuses.empty? }
|
|
||||||
|
|
||||||
private
|
|
||||||
|
|
||||||
def cache_collection(raw)
|
|
||||||
super(raw, Status)
|
|
||||||
end
|
|
||||||
|
|
||||||
def pagination_params(core_params)
|
|
||||||
params.permit(:local, :limit).merge(core_params)
|
|
||||||
end
|
|
||||||
|
|
||||||
def insert_pagination_headers
|
|
||||||
set_pagination_headers(next_path, prev_path)
|
|
||||||
end
|
|
||||||
|
|
||||||
def next_path
|
|
||||||
raise 'Override in child controllers'
|
|
||||||
end
|
|
||||||
|
|
||||||
def prev_path
|
|
||||||
raise 'Override in child controllers'
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
@ -0,0 +1,20 @@
|
|||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
describe 'API routes' do
|
||||||
|
describe 'Timeline routes' do
|
||||||
|
it 'routes to home timeline' do
|
||||||
|
expect(get('/api/v1/timelines/home')).
|
||||||
|
to route_to('api/v1/timelines/home#show')
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'routes to public timeline' do
|
||||||
|
expect(get('/api/v1/timelines/public')).
|
||||||
|
to route_to('api/v1/timelines/public#show')
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'routes to tag timeline' do
|
||||||
|
expect(get('/api/v1/timelines/tag/test')).
|
||||||
|
to route_to('api/v1/timelines/tag#show', id: 'test')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
@ -1,18 +0,0 @@
|
|||||||
require 'rails_helper'
|
|
||||||
|
|
||||||
describe 'API timeline routes' do
|
|
||||||
it 'routes to home timeline' do
|
|
||||||
expect(get('/api/v1/timelines/home')).
|
|
||||||
to route_to('api/v1/timelines/home#show')
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'routes to public timeline' do
|
|
||||||
expect(get('/api/v1/timelines/public')).
|
|
||||||
to route_to('api/v1/timelines/public#show')
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'routes to tag timeline' do
|
|
||||||
expect(get('/api/v1/timelines/tag/test')).
|
|
||||||
to route_to('api/v1/timelines/tag#show', id: 'test')
|
|
||||||
end
|
|
||||||
end
|
|
Loading…
Reference in New Issue