tests passing plus added search api

This commit is contained in:
Mike Slemmer 2013-08-08 18:03:41 -07:00
parent 6573efa107
commit 90dcfbf437
3 changed files with 32 additions and 0 deletions

View File

@ -13,5 +13,17 @@ module JamRuby
self.id = SecureRandom.uuid
self.uri = "dump/#{self.id}-#{self.created_at.to_i}"
end
def self.search(start_ts, end_ts, user_id, client_id)
result = CrashDump.scoped
unless start_ts.nil? || end_ts.nil?
time_range = start_ts..end_ts
result = result.where("EXTRACT(EPOCH FROM created_at)::bigint >= ?", start_ts).where("EXTRACT(EPOCH FROM created_at)::bigint <= ?", end_ts)
end
result = result.where(:user_id => user_id) unless user_id.nil?
result = result.where(:client_id => client_id) unless client_id.nil?
result
end
end
end

View File

@ -118,4 +118,7 @@ FactoryGirl.define do
factory :music_session_perf_data, :class => JamRuby::MusicSessionPerfData do
association :music_session => :music_session
end
factory :crash_dump, :class => JamRuby::CrashDump do
end
end

View File

@ -18,4 +18,21 @@ describe CrashDump do
CrashDump.first.id.should == @cd.id
end
it "should be able to search for a crash dump" do
@cd = FactoryGirl.build(:crash_dump)
@cd.client_type = "Win32"
@cd.client_version = "version"
@cd.save
@cd.reload
CrashDump.search(nil, nil, nil, nil).count.should == 1
CrashDump.search(@cd.created_at.to_i - 100, @cd.created_at.to_i + 100, nil, nil).count.should == 1
CrashDump.search(@cd.created_at.to_i - 100, @cd.created_at.to_i - 1, nil, nil).count.should == 0
CrashDump.search(nil, nil, "blah", nil).count.should == 0
CrashDump.search(nil, nil, @cd.user_id, nil).count.should == 1
CrashDump.search(nil, nil, nil, "blah").count.should == 0
CrashDump.search(nil, nil, nil, @cd.client_id).count.should == 1
end
end