require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') REPORT_NEED_ENV_ARGS_MSG = < e e.class.name.should == "ArgumentError" e.message.should == "Column not found: 'does_not_exist'" end end it "supports data report faking" do report = Yieldmanager::Report.new report.headers = ["first","second"] report.add_row([1,2]) report.data.first.by_name("first").should == 1 report.data.first.by_name("second").should == 2 end it "supports header name editing after data pull" do report = Yieldmanager::Report.new report.send(:retrieve_data, @sample_report) report.data.first.by_name('first').should == "one" report.headers[0] = 'new_first' report.data.first.by_name('new_first').should == "one" end it "complains if report URL doesn't exist, even after retries" do report = Yieldmanager::Report.new report.stub(:pause) {} # don't make me wait expect{ report.send(:retrieve_data,"http://i_dont_exist.com") }.to raise_error end def login_args unless ENV["YIELDMANAGER_USER"] && ENV["YIELDMANAGER_PASS"] raise(ArgumentError, REPORT_NEED_ENV_ARGS_MSG) end @login_args ||= { :user => ENV["YIELDMANAGER_USER"], :pass => ENV["YIELDMANAGER_PASS"], :env => "test" } end def request_xml unless ENV["YIELDMANAGER_CONTACT_ID"] && ENV["YIELDMANAGER_IP_ADDRESS"] raise(ArgumentError, REPORT_NEED_ENV_ARGS_MSG) end < EOR end end