12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- require 'rails_helper'
- describe Agents::TwitterSearchAgent do
- before do
- # intercept the twitter API request
- stub_request(:any, /freebandnames.*[?&]tweet_mode=extended/).
- to_return(body: File.read(Rails.root.join("spec/data_fixtures/search_tweets.json")),
- headers: { 'Content-Type': 'application/json;charset=utf-8' },
- status: 200)
- @opts = {
- search: "freebandnames",
- expected_update_period_in_days: "2",
- starting_at: "Jan 01 00:00:01 +0000 2000",
- max_results: '3'
- }
- end
- let(:checker) {
- _checker = Agents::TwitterSearchAgent.new(name: "search freebandnames", options: @opts)
- _checker.service = services(:generic)
- _checker.user = users(:bob)
- _checker.save!
- _checker
- }
- describe "#check" do
- it "should check for changes" do
- expect { checker.check }.to change { Event.count }.by(3)
- end
- end
- describe "#check with starting_at=future date" do
- it "should check for changes starting_at a future date, thus not find any" do
- opts = @opts.merge({ starting_at: "Jan 01 00:00:01 +0000 2999" })
- checker = Agents::TwitterSearchAgent.new(name: "search freebandnames", options: opts)
- checker.service = services(:generic)
- checker.user = users(:bob)
- checker.save!
- expect { checker.check }.to change { Event.count }.by(0)
- end
- end
- end
|