diff options
Diffstat (limited to 'spec/workers/scheduler')
-rw-r--r-- | spec/workers/scheduler/subscriptions_scheduler_spec.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/spec/workers/scheduler/subscriptions_scheduler_spec.rb b/spec/workers/scheduler/subscriptions_scheduler_spec.rb new file mode 100644 index 000000000..a7d1046de --- /dev/null +++ b/spec/workers/scheduler/subscriptions_scheduler_spec.rb @@ -0,0 +1,19 @@ +require 'rails_helper' + +describe Scheduler::SubscriptionsScheduler do + subject { Scheduler::SubscriptionsScheduler.new } + + let!(:expiring_account1) { Fabricate(:account, subscription_expires_at: 20.minutes.from_now, domain: 'example.com', followers_count: 1, hub_url: 'http://hub.example.com') } + let!(:expiring_account2) { Fabricate(:account, subscription_expires_at: 4.hours.from_now, domain: 'example.org', followers_count: 1, hub_url: 'http://hub.example.org') } + + before do + stub_request(:post, 'http://hub.example.com/').to_return(status: 202) + stub_request(:post, 'http://hub.example.org/').to_return(status: 202) + end + + it 're-subscribes for all expiring accounts' do + subject.perform + expect(a_request(:post, 'http://hub.example.com/')).to have_been_made.once + expect(a_request(:post, 'http://hub.example.org/')).to have_been_made.once + end +end |