From a4ecf7d305a767fcb03051aaa3f74755ca849898 Mon Sep 17 00:00:00 2001 From: Judy Ngai Date: Fri, 25 Mar 2016 10:57:59 -0400 Subject: [PATCH] Revert "deleted related adioso files" This reverts commit c206369fdcc316b7efe189292d7263a68695188d. --- spec/data_fixtures/adioso_fare.json | 196 ++++++++++++++++++++++++ spec/data_fixtures/adioso_parse.json | 19 +++ spec/models/agents/adioso_agent_spec.rb | 38 +++++ 3 files changed, 253 insertions(+) create mode 100644 spec/data_fixtures/adioso_fare.json create mode 100644 spec/data_fixtures/adioso_parse.json create mode 100644 spec/models/agents/adioso_agent_spec.rb diff --git a/spec/data_fixtures/adioso_fare.json b/spec/data_fixtures/adioso_fare.json new file mode 100644 index 00000000..3fddb52b --- /dev/null +++ b/spec/data_fixtures/adioso_fare.json @@ -0,0 +1,196 @@ +{ + "currency": "USD", + "results": [ + { + "cost": 431.74000000000001, + "date": 1372032000, + "route": [ + "PDX", + "DFW", + "ORD" + ] + }, + { + "cost": 431.74000000000001, + "date": 1372118400, + "route": [ + "PDX", + "DFW", + "ORD" + ] + }, + { + "cost": 341.72000000000003, + "date": 1372204800, + "route": [ + "PDX", + "LAS", + "ORD" + ] + }, + { + "cost": 625.57000000000005, + "date": 1372291200, + "route": [ + "PDX", + "LAX", + "ORD" + ] + }, + { + "cost": 348.14999999999998, + "date": 1372377600, + "route": [ + "PDX", + "LAS", + "ORD" + ] + }, + { + "cost": 306.81, + "date": 1372464000, + "route": [ + "PDX", + "LAS", + "ORD" + ] + }, + { + "cost": 307.73000000000002, + "date": 1372550400, + "route": [ + "PDX", + "LAS", + "ORD" + ] + }, + { + "cost": 257.20999999999998, + "date": 1372636800, + "route": [ + "PDX", + "DFW", + "ORD" + ] + }, + { + "cost": 245.27000000000001, + "date": 1372723200, + "route": [ + "PDX", + "LAS", + "ORD" + ] + }, + { + "cost": 293.02999999999997, + "date": 1372809600, + "route": [ + "PDX", + "LAS", + "ORD" + ] + }, + { + "cost": 194.74000000000001, + "date": 1372896000, + "route": [ + "PDX", + "LAS", + "ORD" + ] + }, + { + "cost": 244.34999999999999, + "date": 1372982400, + "route": [ + "PDX", + "LAS", + "ORD" + ] + }, + { + "cost": 305.88999999999999, + "date": 1373068800, + "route": [ + "PDX", + "LAS", + "ORD" + ] + }, + { + "cost": 306.81, + "date": 1373155200, + "route": [ + "PDX", + "LAS", + "ORD" + ] + }, + { + "cost": 248.94, + "date": 1373241600, + "route": [ + "PDX", + "LAS", + "ORD" + ] + }, + { + "cost": 244.34999999999999, + "date": 1373328000, + "route": [ + "PDX", + "LAS", + "ORD" + ] + }, + { + "cost": 245.27000000000001, + "date": 1373414400, + "route": [ + "PDX", + "LAS", + "ORD" + ] + }, + { + "cost": 277.42000000000002, + "date": 1373500800, + "route": [ + "PDX", + "DFW", + "ORD" + ] + }, + { + "cost": 297.63, + "date": 1373587200, + "route": [ + "PDX", + "LAS", + "ORD" + ] + }, + { + "cost": 209.44, + "date": 1373673600, + "route": [ + "PDX", + "LAS", + "ORD" + ] + }, + { + "cost": 259.95999999999998, + "date": 1373760000, + "route": [ + "PDX", + "LAS", + "ORD" + ] + } + ], + "type": "calendar", + "warnings": null +} diff --git a/spec/data_fixtures/adioso_parse.json b/spec/data_fixtures/adioso_parse.json new file mode 100644 index 00000000..d1b9c7ee --- /dev/null +++ b/spec/data_fixtures/adioso_parse.json @@ -0,0 +1,19 @@ +{ + "cost_max": null, + "currency": "USD", + "date_end": 1403740799, + "date_start": 1372032000, + "dest_codes": [ + "CGX", + "MDW", + "ORD", + "GYY" + ], + "duration_max": null, + "origin_codes": [ + "PDX", + "SLE" + ], + "search_url": "http://api.adioso.com/v2/search/fares?currency=USD&date_end=1403740799&date_start=1372032000&dest_codes=CGX%2CMDW%2CORD%2CGYY&origin_codes=PDX%2CSLE", + "segments_max": null +} diff --git a/spec/models/agents/adioso_agent_spec.rb b/spec/models/agents/adioso_agent_spec.rb new file mode 100644 index 00000000..101da962 --- /dev/null +++ b/spec/models/agents/adioso_agent_spec.rb @@ -0,0 +1,38 @@ +require 'rails_helper' + +describe Agents::AdiosoAgent do + before do + stub_request(:get, /parse/).to_return(:body => File.read(Rails.root.join("spec/data_fixtures/adioso_parse.json")), :status => 200, :headers => {"Content-Type" => "text/json"}) + stub_request(:get, /fares/).to_return(:body => File.read(Rails.root.join("spec/data_fixtures/adioso_fare.json")), :status => 200, :headers => {"Content-Type" => "text/json"}) + @valid_params = { + :start_date => "June 25 2013", + :end_date => "July 15 2013", + :from => "Portland", + :to => "Chicago", + :username => "xx", + :password => "xx", + :expected_update_period_in_days => "2" + } + + @checker = Agents::AdiosoAgent.new(:name => "somename", :options => @valid_params) + @checker.user = users(:jane) + @checker.save! + end + + describe "#check" do + it "should check that initial run creates an event" do + expect { @checker.check }.to change { Event.count }.by(1) + end + end + + describe "#working?" do + it "checks if its generating events as scheduled" do + expect(@checker).not_to be_working + @checker.check + expect(@checker.reload).to be_working + three_days_from_now = 3.days.from_now + stub(Time).now { three_days_from_now } + expect(@checker).not_to be_working + end + end +end