tests passing plus added search api
This commit is contained in:
parent
6573efa107
commit
90dcfbf437
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue