mirror of
https://github.com/mastodon/mastodon.git
synced 2025-05-07 12:16:14 +00:00
Add request specs
This commit is contained in:
parent
cee1378231
commit
ddceb88367
|
@ -2,8 +2,40 @@
|
|||
|
||||
require 'rails_helper'
|
||||
|
||||
RSpec.describe 'Api::Fasp::DataSharing::V0::BackfillRequests' do
|
||||
describe 'GET /index' do
|
||||
pending "add some examples (or delete) #{__FILE__}"
|
||||
RSpec.describe 'Api::Fasp::DataSharing::V0::BackfillRequests', feature: :fasp do
|
||||
include ProviderRequestHelper
|
||||
|
||||
describe 'POST /api/fasp/data_sharing/v0/backfill_requests' do
|
||||
let(:provider) { Fabricate(:fasp_provider) }
|
||||
|
||||
context 'with valid parameters' do
|
||||
it 'creates a new backfill request' do
|
||||
params = { category: 'content', maxCount: 10 }
|
||||
headers = request_authentication_headers(provider,
|
||||
url: api_fasp_data_sharing_v0_backfill_requests_url,
|
||||
method: :post,
|
||||
body: params)
|
||||
|
||||
expect do
|
||||
post api_fasp_data_sharing_v0_backfill_requests_path, headers:, params:, as: :json
|
||||
end.to change(Fasp::BackfillRequest, :count).by(1)
|
||||
expect(response).to have_http_status(201)
|
||||
end
|
||||
end
|
||||
|
||||
context 'with invalid parameters' do
|
||||
it 'does not create a backfill request' do
|
||||
params = { category: 'unknown', maxCount: 10 }
|
||||
headers = request_authentication_headers(provider,
|
||||
url: api_fasp_data_sharing_v0_backfill_requests_url,
|
||||
method: :post,
|
||||
body: params)
|
||||
|
||||
expect do
|
||||
post api_fasp_data_sharing_v0_backfill_requests_path, headers:, params:, as: :json
|
||||
end.to_not change(Fasp::BackfillRequest, :count)
|
||||
expect(response).to have_http_status(422)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -2,8 +2,21 @@
|
|||
|
||||
require 'rails_helper'
|
||||
|
||||
RSpec.describe 'Api::Fasp::DataSharing::V0::Continuations' do
|
||||
describe 'GET /index' do
|
||||
pending "add some examples (or delete) #{__FILE__}"
|
||||
RSpec.describe 'Api::Fasp::DataSharing::V0::Continuations', feature: :fasp do
|
||||
include ProviderRequestHelper
|
||||
|
||||
describe 'POST /api/fasp/data_sharing/v0/backfill_requests/:id/continuations' do
|
||||
let(:backfill_request) { Fabricate(:fasp_backfill_request) }
|
||||
let(:provider) { backfill_request.fasp_provider }
|
||||
|
||||
it 'queues a job to continue the given backfill request' do
|
||||
headers = request_authentication_headers(provider,
|
||||
url: api_fasp_data_sharing_v0_backfill_request_continuation_url(backfill_request),
|
||||
method: :post)
|
||||
|
||||
post api_fasp_data_sharing_v0_backfill_request_continuation_path(backfill_request), headers:, as: :json
|
||||
expect(response).to have_http_status(204)
|
||||
expect(Fasp::BackfillWorker).to have_enqueued_sidekiq_job(backfill_request.id)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -2,8 +2,56 @@
|
|||
|
||||
require 'rails_helper'
|
||||
|
||||
RSpec.describe 'Api::Fasp::DataSharing::V0::EventSubscriptions' do
|
||||
describe 'GET /index' do
|
||||
pending "add some examples (or delete) #{__FILE__}"
|
||||
RSpec.describe 'Api::Fasp::DataSharing::V0::EventSubscriptions', feature: :fasp do
|
||||
include ProviderRequestHelper
|
||||
|
||||
describe 'POST /api/fasp/data_sharing/v0/event_subscriptions' do
|
||||
let(:provider) { Fabricate(:fasp_provider) }
|
||||
|
||||
context 'with valid parameters' do
|
||||
it 'creates a new subscription' do
|
||||
params = { category: 'content', subscriptionType: 'lifecycle', maxBatchSize: 10 }
|
||||
headers = request_authentication_headers(provider,
|
||||
url: api_fasp_data_sharing_v0_event_subscriptions_url,
|
||||
method: :post,
|
||||
body: params)
|
||||
|
||||
expect do
|
||||
post api_fasp_data_sharing_v0_event_subscriptions_path, headers:, params:, as: :json
|
||||
end.to change(Fasp::Subscription, :count).by(1)
|
||||
expect(response).to have_http_status(201)
|
||||
end
|
||||
end
|
||||
|
||||
context 'with invalid parameters' do
|
||||
it 'does not create a subscription' do
|
||||
params = { category: 'unknown' }
|
||||
headers = request_authentication_headers(provider,
|
||||
url: api_fasp_data_sharing_v0_event_subscriptions_url,
|
||||
method: :post,
|
||||
body: params)
|
||||
|
||||
expect do
|
||||
post api_fasp_data_sharing_v0_event_subscriptions_path, headers:, params:, as: :json
|
||||
end.to_not change(Fasp::Subscription, :count)
|
||||
expect(response).to have_http_status(422)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe 'DELETE /api/fasp/data_sharing/v0/event_subscriptions/:id' do
|
||||
let(:subscription) { Fabricate(:fasp_subscription) }
|
||||
let(:provider) { subscription.fasp_provider }
|
||||
|
||||
it 'deletes the subscription' do
|
||||
headers = request_authentication_headers(provider,
|
||||
url: api_fasp_data_sharing_v0_event_subscription_url(subscription),
|
||||
method: :delete)
|
||||
|
||||
expect do
|
||||
delete api_fasp_data_sharing_v0_event_subscription_path(subscription), headers:, as: :json
|
||||
end.to change(Fasp::Subscription, :count).by(-1)
|
||||
expect(response).to have_http_status(204)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue
Block a user