spec/models/data_grid_spec.rb in marty-1.0.6 vs spec/models/data_grid_spec.rb in marty-1.0.7
- old
+ new
@@ -160,10 +160,19 @@
1|2\t90.5\t4.4\t5.5\t6.6
3|4\t100.5\t1.2\t2.3\t3.4
3|4\t105.5\t4.5\t5.6\t6.7
EOS
+Gj =<<EOS
+lenient
+client_id\tinteger\tv
+property_state\tstring\tv
+
+\tCA\t0.25
+700127\tCA\t0.35
+EOS
+
before(:each) do
#Mcfly.whodunnit = Marty::User.find_by_login('marty')
marty_whodunnit
end
@@ -277,11 +286,11 @@
describe "lookups for infinity" do
let(:pt) { 'infinity'}
before(:each) do
["G1", "G2", "G3", "G4", "G5", "G6", "G7", "G8", "Ga", "Gb",
- "Gc", "Gd", "Ge", "Gf", "Gg", "Gh"].each { |g|
+ "Gc", "Gd", "Ge", "Gf", "Gg", "Gh", "Gj"].each { |g|
dg_from_import(g, "Marty::DataGridSpec::#{g}".constantize)
}
end
context "should handle NULL key values" do
@@ -357,9 +366,25 @@
expect(res).to eq(1.1)
expect {
Marty::DataGrid.lookup_grid(pt, dg, {"ltv"=>500}, true)
+ }.to raise_error(RuntimeError)
+ end
+
+ it "should handle non-distinct lookups (2)" do
+ params = {
+ "client_id" => 700127,
+ "property_state" => "CA",
+ }
+ dg = Marty::DataGrid.lookup(pt, "Gj")
+ res = Marty::DataGrid.lookup_grid(pt, dg, params, false)
+
+ # should return the upper left corner match
+ expect(res).to eq(0.25)
+
+ expect {
+ Marty::DataGrid.lookup_grid(pt, dg, params, true)
}.to raise_error(RuntimeError)
end
it "should handle boolean lookups" do
res = [true, false].map { |hb_indicator|