docbrown/spec/requests/follows_api_spec.rb
John Curcio 432d3348f6 Move user.follow delay calls to ActiveJob (#3136) (#4203)
* Move user.follow delay calls to ActiveJob (#3136)

* Pass ids to follow job instead of active records
2019-10-03 11:22:00 -04:00

33 lines
929 B
Ruby

require "rails_helper"
RSpec.describe "FollowsApi", type: :request do
describe "POST /api/follows" do
let(:user) { create(:user) }
let(:user2) { create(:user) }
let(:user3) { create(:user) }
let(:user4) { create(:user) }
let(:user5) { create(:user) }
let(:users_hash) do
[{ id: user2.id }, { id: user3.id }, { id: user4.id }, { id: user5.id }]
end
it "returns empty if user not signed in" do
post "/api/follows", params: { users: users_hash }
expect(response.body.size).to eq(0)
end
it "makes successful ping" do
sign_in user
post "/api/follows", params: { users: users_hash }
expect(response.body).to include("outcome")
end
it "creates follows" do
sign_in user
perform_enqueued_jobs do
post "/api/follows", params: { users: users_hash }
end
expect(Follow.all.size).to eq(users_hash.size)
end
end
end